Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
CSC509 Lecture 05
Javier Gonzalez-Sanchez
PRO
October 03, 2025
Programming
0
300
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 06
javiergs
PRO
0
260
CSC305 Lecture 06
javiergs
PRO
0
230
CSC509 Lecture 04
javiergs
PRO
0
300
CSC305 Lecture 05
javiergs
PRO
0
210
CSC509 Lecture 03
javiergs
PRO
0
340
CSC305 Lecture 04
javiergs
PRO
0
270
CSC305 Lecture 03
javiergs
PRO
0
240
CSC305 Lecture 02
javiergs
PRO
1
270
CSC509 Lecture 01
javiergs
PRO
1
440
Other Decks in Programming
See All in Programming
開発生産性を上げるための生成AI活用術
starfish719
3
950
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
320
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
760
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
160
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
320
Devoxx BE - Local Development in the AI Era
kdubois
0
130
ポスターセッション: 「まっすぐ行って、右!」って言ってラズパイカーを動かしたい 〜生成AI × Raspberry Pi Pico × Gradioの試作メモ〜
komofr
0
1.3k
Cloudflare AgentsとAI SDKでAIエージェントを作ってみた
briete
0
150
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
170
高度なUI/UXこそHotwireで作ろう Kaigi on Rails 2025
naofumi
4
4.1k
明日から始めるリファクタリング
ryounasso
0
140
XP, Testing and ninja testing ZOZ5
m_seki
3
650
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1032
470k
Into the Great Unknown - MozCon
thekraken
40
2.1k
Typedesign – Prime Four
hannesfritz
42
2.8k
Leading Effective Engineering Teams in the AI Era
addyosmani
4
390
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
Context Engineering - Making Every Token Count
addyosmani
6
240
Embracing the Ebb and Flow
colly
88
4.8k
RailsConf 2023
tenderlove
30
1.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
8
900
Thoughts on Productivity
jonyablonski
70
4.9k
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.