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
CSC509 Lecture 05
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Javier Gonzalez-Sanchez
PRO
October 03, 2025
Programming
0
340
CSC509 Lecture 05
Software Design
Software Architecture II
(202410)
Javier Gonzalez-Sanchez
PRO
October 03, 2025
Tweet
Share
More Decks by Javier Gonzalez-Sanchez
See All by Javier Gonzalez-Sanchez
CSC364 Lecture 18
javiergs
PRO
0
39
CSC364 Lecture 17
javiergs
PRO
0
160
CSC307_L17_review_5050.pdf
javiergs
PRO
0
15
CSC307 Lecture 16
javiergs
PRO
0
260
CSC364 Lecture 16
javiergs
PRO
0
170
CSC307 Lecture 15
javiergs
PRO
0
260
CSC364 Lecture 15
javiergs
PRO
0
70
CSC364 Lecture 14
javiergs
PRO
0
140
CSC307 Lecture 14
javiergs
PRO
0
480
Other Decks in Programming
See All in Programming
AWS×クラウドネイティブソフトウェア設計 / AWS x Cloud-Native Software Design
nrslib
16
3.4k
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
150
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
360
RailsのValidatesをSwift Macrosで再現してみた
hokuron
0
120
脱 雰囲気実装!AgentCoreを良い感じにWEBアプリケーションに組み込むために
takuyay0ne
3
390
Codex の「自走力」を高める
yorifuji
0
1.3k
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
1.3k
見せてもらおうか、 OpenSearchの性能とやらを!
shunta27
1
130
守る「だけ」の優しいEMを抜けて、 事業とチームを両方見る視点を身につけた話
maroon8021
3
1.3k
AIコードレビューの導入・運用と AI駆動開発における「AI4QA」の取り組みについて
hagevvashi
0
550
Linux Kernelの1文字のミスで 権限昇格ができた話
rqda
0
2.1k
存在論的プログラミング: 時間と存在を記述する
koriym
4
460
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Six Lessons from altMBA
skipperchong
29
4.2k
Designing for Timeless Needs
cassininazir
0
170
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
330
Build your cross-platform service in a week with App Engine
jlugia
234
18k
So, you think you're a good person
axbom
PRO
2
2k
We Are The Robots
honzajavorek
0
200
Abbi's Birthday
coloredviolet
2
5.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
Into the Great Unknown - MozCon
thekraken
40
2.3k
WCS-LA-2024
lcolladotor
0
500
Transcript
Dr. Javier Gonzalez-Sanchez
[email protected]
www.javiergs.info o ffi ce: 14 -227
CSC 508/9 Software Engineering (Design & Deployment) Lecture 05. Software Architecture II
Environment 2
Blueprint 3 Architecture Design Code
Model-View-Controller
Model-View-Controller 5
None
None
None
None
Appendix Observer Pattern
Observer 11
Classroom | Initial Version 12 https://github.com/CSC3100/Patterns
Student | Initial Version class Student { public String answerQuestion
(String question) { String answer; // solve the question return answer; } } 13 https://github.com/CSC3100/Patterns
Teacher | Initial Version 14 https://github.com/CSC3100/Patterns
Observer 15
https://github.com/CSC3100/Patterns
https://github.com/CSC3100/Patterns
https://github.com/CSC3100/Patterns
https://github.com/CSC3100/Patterns
https://github.com/CSC3100/Patterns
Important 21 Do not reinvent the wheel! (Do not make
another implementation for classes Observer or Observable -they already exist in libraries!)
Important 22 Depreciated java.util.Observer java.util.Observable The implementation of these packages
That is NOT about the Observer pattern being depreciated.
Important 23 Use java.beans.PropertyChangeListener java.beans.PropertyChangeSupport
https://github.com/CSC3100/Patterns
https://github.com/CSC3100/Patterns
https://github.com/CSC3100/Patterns
Thoughts? 27
Questions 28
CSC 509 Software Engineering Javier Gonzalez-Sanchez, Ph.D.
[email protected]
Fall 2025
Copyright. These slides can only be used as study material for the class CSC509 at Cal Poly. They cannot be distributed or used for another purpose.