Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CSC509 Lecture 05
Search
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
CSC509 Lecture 15
javiergs
PRO
0
48
CSC305 Lecture 18
javiergs
PRO
0
280
CSC509 Lecture 14
javiergs
PRO
0
230
CSC305 Lecture 17
javiergs
PRO
0
350
CSC305 Lecture 16
javiergs
PRO
0
390
CSC305 Lecture 15
javiergs
PRO
0
260
CSC305 Lecture 14
javiergs
PRO
0
380
CSC509 Lecture 13
javiergs
PRO
0
270
CSC509 Lecture 12
javiergs
PRO
0
320
Other Decks in Programming
See All in Programming
GISエンジニアから見たLINKSデータ
nokonoko1203
0
180
GoLab2025 Recap
kuro_kurorrr
0
780
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
140
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
240
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
7
2.4k
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
420
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
410
PostgreSQLで手軽にDuckDBを使う!DuckDB&pg_duckdb入門/osc25hi-duckdb
takahashiikki
0
170
TestingOsaka6_Ozono
o3
0
180
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
170
マスタデータ問題、マイクロサービスでどう解くか
kts
0
140
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
650
Featured
See All Featured
Everyday Curiosity
cassininazir
0
110
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
4 Signs Your Business is Dying
shpigford
186
22k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
980
Optimizing for Happiness
mojombo
379
70k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.4k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
2.8k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
70
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
Six Lessons from altMBA
skipperchong
29
4.1k
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.