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
340
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
CSC305 Lecture 21
javiergs
PRO
0
34
CSC364 Lecture 18
javiergs
PRO
0
53
CSC364 Lecture 17
javiergs
PRO
0
170
CSC307_L17_review_5050.pdf
javiergs
PRO
0
31
CSC307 Lecture 16
javiergs
PRO
0
270
CSC364 Lecture 16
javiergs
PRO
0
190
CSC307 Lecture 15
javiergs
PRO
0
300
CSC364 Lecture 15
javiergs
PRO
0
86
CSC364 Lecture 14
javiergs
PRO
0
150
Other Decks in Programming
See All in Programming
ついに来た!本格的なマルチクラウド時代の Google Cloud
maroon1st
0
340
mruby on C#: From VM Implementation to Game Scripting (RubyKaigi 2026)
hadashia
2
1.4k
[RubyKaigi 2026] Require Hooks
palkan
1
280
クラウドネイティブなエンジニアに向ける Raycastの魅力と実際の活用事例
nealle
2
230
Swift Concurrency Type System
inamiy
1
570
tRPCの概要と少しだけパフォーマンス
misoton665
2
260
書き換えて学ぶTemporal #fukts
pirosikick
2
330
Kingdom of the Machine
yui_knk
2
1.3k
運転動画を検索可能にする〜Cosmos-Embed1とDatabricks Vector Searchで〜/cosmos-embed1-databricks-vector-search
studio_graph
1
590
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
16
5.6k
PicoRuby for IoT: Connecting to the Cloud with MQTT
yuuu
2
720
Spec Driven Development | AI Summit Vilnius
danielsogl
PRO
1
130
Featured
See All Featured
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
15
4 Signs Your Business is Dying
shpigford
187
22k
Amusing Abliteration
ianozsvald
1
160
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Discover your Explorer Soul
emna__ayadi
2
1.1k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
How to build a perfect <img>
jonoalderson
1
5.5k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
350
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
250
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.