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
Javier Gonzalez-Sanchez
PRO
October 03, 2025
Programming
350
0
Share
CSC509 Lecture 05
Software Design
Software Architecture II
(202410)
Javier Gonzalez-Sanchez
PRO
October 03, 2025
More Decks by Javier Gonzalez-Sanchez
See All by Javier Gonzalez-Sanchez
CSC307 Lecture 21
javiergs
PRO
0
57
CSC307 Lecture 17
javiergs
PRO
0
310
CSC305 Lecture 18
javiergs
PRO
0
370
final project
javiergs
PRO
0
120
CSC305 Lecture 18
javiergs
PRO
0
92
CSC307_L17_mqtt.pdf
javiergs
PRO
0
57
UP Lecture 28
javiergs
PRO
0
50
CSC307_L99_TDD.pdf
javiergs
PRO
0
64
CSC307_L99_TDD.pdf
javiergs
PRO
0
61
Other Decks in Programming
See All in Programming
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
190
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
3.4k
The NotImplementedError Problem in Ruby
koic
1
600
SPMマルチモジュールで テストカバレッジを取得する技法
yosshi4486
0
140
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
2
590
LLM Plugin for Node-REDの利用方法と開発について
404background
0
160
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
440
Webフレームワークの ベンチマークについて
yusukebe
0
130
Spec-Driven Development with AI-Agents: From High-Level Requirements to Working Software
antonarhipov
2
450
Lessons from Spec-Driven Development
simas
PRO
0
140
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
310
AutonomyとControlのあいだ:Graflowで記述するAIエージェント協調
myui
0
110
Featured
See All Featured
Between Models and Reality
mayunak
4
330
Color Theory Basics | Prateek | Gurzu
gurzu
0
350
Tell your own story through comics
letsgokoyo
1
940
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
220
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
430
Balancing Empowerment & Direction
lara
6
1.1k
AI: The stuff that nobody shows you
jnunemaker
PRO
8
690
So, you think you're a good person
axbom
PRO
2
2k
Technical Leadership for Architectural Decision Making
baasie
3
400
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
300
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.