Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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
360
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
CSC510 Lecture 15
javiergs
PRO
0
16
CSC510 Lecture 13
javiergs
PRO
0
12
CSC510 Lecture 14
javiergs
PRO
0
25
CSC310 Lecture 09
javiergs
PRO
0
19
CSC510 Lecture 12
javiergs
PRO
0
49
CSC510 Lecture 11
javiergs
PRO
0
39
CSC310 Lecture 08
javiergs
PRO
0
30
CSC310 Lecture 07
javiergs
PRO
0
39
CSC510 Lecture 10
javiergs
PRO
0
33
Other Decks in Programming
See All in Programming
APNsからLive Activityを開始する話
yumnumm
0
150
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
330
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
150
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
190
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.4k
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
450
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
130
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
580
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
270
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
370
setup-vp GitLab対応の裏側
naokihaba
0
150
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
450
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
699
190k
A better future with KSS
kneath
240
18k
Amusing Abliteration
ianozsvald
1
330
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
How to build a perfect <img>
jonoalderson
1
6.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
A designer walks into a library…
pauljervisheath
211
25k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
860
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
570
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
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.