Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CSC305 Summer Lecture 07
Search
Javier Gonzalez-Sanchez
PRO
August 10, 2025
Programming
0
15
CSC305 Summer Lecture 07
Individual Software Design and Development
Blackboard
(202508)
Javier Gonzalez-Sanchez
PRO
August 10, 2025
Tweet
Share
More Decks by Javier Gonzalez-Sanchez
See All by Javier Gonzalez-Sanchez
CSC305 Summer Lecture 06
javiergs
PRO
0
52
CSC305 Summer Lecture 05
javiergs
PRO
0
82
CSC305 Summer Lecture 04
javiergs
PRO
1
60
CSC305 Summer Lecture 03
javiergs
PRO
0
79
CSC305 Summer Lecture 02
javiergs
PRO
0
43
CSC305 Summer Lecture 01
javiergs
PRO
0
61
CSC307 Lecture 16
javiergs
PRO
0
150
CSC570 Lecture 13
javiergs
PRO
0
42
CSC307 Lecture 17
javiergs
PRO
0
120
Other Decks in Programming
See All in Programming
ZeroETLで始めるDynamoDBとS3の連携
afooooil
0
150
自作OSでDOOMを動かしてみた
zakki0925224
1
960
なぜあなたのオブザーバビリティ導入は頓挫するのか
ryota_hnk
5
570
新しいモバイルアプリ勉強会(仮)について
uetyo
1
250
書き捨てではなく継続開発可能なコードをAIコーディングエージェントで書くために意識していること
shuyakinjo
0
220
Understanding Kotlin Multiplatform
l2hyunwoo
0
250
Strands Agents で実現する名刺解析アーキテクチャ
omiya0555
1
110
あなたとJIT, 今すぐアセンブ ル
sisshiki1969
0
410
decksh - a little language for decks
ajstarks
4
21k
React 使いじゃなくても知っておきたい教養としての React
oukayuka
18
5.4k
0から始めるモジュラーモノリス-クリーンなモノリスを目指して
sushi0120
0
250
大規模FlutterプロジェクトのCI実行時間を約8割削減した話
teamlab
PRO
0
450
Featured
See All Featured
How to Ace a Technical Interview
jacobian
278
23k
A designer walks into a library…
pauljervisheath
207
24k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
332
22k
RailsConf 2023
tenderlove
30
1.2k
Embracing the Ebb and Flow
colly
86
4.8k
Optimizing for Happiness
mojombo
379
70k
Done Done
chrislema
185
16k
Thoughts on Productivity
jonyablonski
69
4.8k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Music & Morning Musume
bryan
46
6.7k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Transcript
Dr. Javier Gonzalez-Sanchez
[email protected]
www.javiergs.info o ffi ce: 14 -227
CSC 305 Individual Software Design and Development | Summer Version Lecture 07. Blackboard
Model-View-Controller 2
Observer One More Thing
Main
Observer 5 https://github.com/CSC3100/Patterns
Observable 6 https://github.com/CSC3100/Patterns
Classroom | New Version 7 https://github.com/CSC3100/Patterns
Student | New Version 8 https://github.com/CSC3100/Patterns
Teacher | New Version 9 https://github.com/CSC3100/Patterns
Important 10 Do not reinvent the wheel! (Do not make
another implementation for classes Observer or Observable -they already exist in libraries!)
Important 11 Depreciated java.util.Observer java.util.Observable The implementation of these packages
That is NOT about the Observer pattern being depreciated.
Important 12 Use java.beans.PropertyChangeListener java.beans.PropertyChangeSupport
Classroom | Listener Version 13 https://github.com/CSC3100/Patterns
Student | Listener Version 14 https://github.com/CSC3100/Patterns
Teacher | Listener Version 15 https://github.com/CSC3100/Patterns
Scenario A 16
Scenario B 17
Singleton
Singleton 19
Singleton 20 https://github.com/CSC3100/Patterns
Singleton 21 https://github.com/CSC3100/Patterns
Warning 22 Do not Abuse of the Singleton You are
transforming OOP into Structural Programming!! 🙈
Example 1
Lab 24
Blueprint 25 M a in Dr a wAre a Dr
a wAre a Listener Repository
Main 26
DrawArea 27
DrawAreaListener 28
Repository 29
Blackboard Multi Threading
Blackboard 31
None
Implementation :: Classroom 33
Implementation :: Professor 34
Implementation :: Student 35
None
Example 2 Multi-Threading + GUI
None
None
None
Homework
Homework 42 Reading https://medium.com/javarevisited/design-patterns-101-hello-singleton-2d3f227c7729
Homework 43 Reading https://medium.com/swlh/software-design-patterns-why-what-and-an-example-8d4c0934a6ca
Questions 44
Lab.
None
CSC 305 Individual Software Design and Development Javier Gonzalez-Sanchez, Ph.D.
[email protected]
Summer 2025 Copyright. These slides can only be used as study material for the class CSC305 at Cal Poly. They cannot be distributed or used for another purpose.