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
0
310
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 08
javiergs
PRO
0
260
CSC509 Lecture 07
javiergs
PRO
0
250
CSC305 Lecture 12
javiergs
PRO
0
240
CSC305 Lecture 11
javiergs
PRO
0
310
CSC305 Lecture 10
javiergs
PRO
0
310
CSC305 Lecture 09
javiergs
PRO
0
320
CSC305 Lecture 08
javiergs
PRO
0
280
CSC509 Lecture 06
javiergs
PRO
0
270
CSC305 Lecture 07
javiergs
PRO
0
310
Other Decks in Programming
See All in Programming
Amazon ECS Managed Instances が リリースされた!キャッチアップしよう!! / Let's catch up Amazon ECS Managed Instances
cocoeyes02
0
110
Inside of Swift Export
giginet
PRO
1
160
オープンソースソフトウェアへの解像度🔬
utam0k
17
3.2k
Software Architecture
hschwentner
6
2.4k
contribution to astral-sh/uv
shunsock
0
550
Domain-centric? Why Hexagonal, Onion, and Clean Architecture Are Answers to the Wrong Question
olivergierke
3
990
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
1.2k
マイベストのシンプルなデータ基盤の話 - Googleスイートとのつき合い方 / mybest-simple-data-architecture-google-nized
snhryt
0
100
技術的負債の正体を知って向き合う
irof
0
290
なんでRustの環境構築してないのにRust製のツールが動くの? / Why Do Rust-Based Tools Run Without a Rust Environment?
ssssota
14
47k
Reactive Thinking with Signals and the Resource API
manfredsteyer
PRO
0
120
「ちょっと古いから」って避けてた技術書、今だからこそ読もう
mottyzzz
12
7.2k
Featured
See All Featured
Gamification - CAS2011
davidbonilla
81
5.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Producing Creativity
orderedlist
PRO
348
40k
BBQ
matthewcrist
89
9.9k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Designing for humans not robots
tammielis
254
26k
It's Worth the Effort
3n
187
28k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Automating Front-end Workflow
addyosmani
1371
200k
Building an army of robots
kneath
306
46k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
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.