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
CSC307 Lecture 07
javiergs
PRO
0
530
CSC364 Lecture 07
javiergs
PRO
0
71
CSC307 Lecture 06
javiergs
PRO
0
670
CSC364 Lecture 06
javiergs
PRO
0
73
CSC307 Lecture 05
javiergs
PRO
0
490
CSC364 Lecture 05
javiergs
PRO
0
72
CSC364 Lecture 04
javiergs
PRO
0
87
CSC307 Lecture 04
javiergs
PRO
0
650
CSC307 Lecture 03
javiergs
PRO
1
480
Other Decks in Programming
See All in Programming
The Art of Re-Architecture - Droidcon India 2025
siddroid
0
170
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
360
Denoのセキュリティに関する仕組みの紹介 (toranoana.deno #23)
uki00a
0
270
今から始めるClaude Code超入門
448jp
4
5k
AtCoder Conference 2025
shindannin
0
1k
Vibe codingでおすすめの言語と開発手法
uyuki234
0
210
ゆくKotlin くるRust
exoego
1
220
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
120
Architectural Extensions
denyspoltorak
0
250
2年のAppleウォレットパス開発の振り返り
muno92
PRO
0
190
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
180
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.1k
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
2.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
290
The Curious Case for Waylosing
cassininazir
0
230
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
120
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
100
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
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.