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
CSC305 Summer Lecture 07
Search
Javier Gonzalez-Sanchez
PRO
August 10, 2025
Programming
100
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CSC305 Summer Lecture 07
Individual Software Design and Development
Blackboard
(202508)
Javier Gonzalez-Sanchez
PRO
August 10, 2025
More Decks by Javier Gonzalez-Sanchez
See All by Javier Gonzalez-Sanchez
CSC310 Lecture 05
javiergs
PRO
0
24
CSC310 Lecture 04
javiergs
PRO
0
37
CSC510 Lecture 03
javiergs
PRO
0
64
CSC310 Lecture 03
javiergs
PRO
0
47
CSC310 Lecture 02
javiergs
PRO
0
65
CSC310 Lecture 01
javiergs
PRO
1
82
CSC510 Lecture 01
javiergs
PRO
1
63
CSC307 Lecture 21
javiergs
PRO
0
73
CSC307 Lecture 17
javiergs
PRO
0
340
Other Decks in Programming
See All in Programming
GKE アップグレード前に知っておきたい Blue/Green と PDB の関係
stkk
0
140
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
5
1k
Oxlintはいいぞ(続)
yug1224
1
540
AIに既存システムを理解させる技術 ~レガシーを見捨てないハーネスエンジニアリング入門~
ochtum
0
200
LoopHub - ローカルで動く GitHub で、AI と共同開発
jugyo
0
410
iOS開発×AI駆動開発 〜最近使って便利だったスキルの話〜
nogu66
0
140
PyO3 で既存 Python 評価器を Rust core 化する ー wasm-bindgen でブラウザにも配るための設計
kdash
1
380
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
630
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
280
30年振りにコンパイラの定数整数除算を改善した
herumi
9
4.4k
リアルな遅延を測る仕様
kota_yata
1
140
ALB ログから Trace を気合で繋げる技術
fohte
7
870
Featured
See All Featured
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
970
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.2k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
260
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
570
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Deep Space Network (abreviated)
tonyrice
0
290
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
300
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
400
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
400
We Have a Design System, Now What?
morganepeng
55
8.3k
Transcript
Dr. Javier Gonzalez-Sanchez
[email protected]
www.javiergs.info o ffi ce: 14 -227
CSC 305 Individual Software Design and Development | Summer Version Lecture 07. Blackboard
Model-View-Controller 2
Observer One More Thing
Main
Observer 5 https://github.com/CSC3100/Patterns
Observable 6 https://github.com/CSC3100/Patterns
Classroom | New Version 7 https://github.com/CSC3100/Patterns
Student | New Version 8 https://github.com/CSC3100/Patterns
Teacher | New Version 9 https://github.com/CSC3100/Patterns
Important 10 Do not reinvent the wheel! (Do not make
another implementation for classes Observer or Observable -they already exist in libraries!)
Important 11 Depreciated java.util.Observer java.util.Observable The implementation of these packages
That is NOT about the Observer pattern being depreciated.
Important 12 Use java.beans.PropertyChangeListener java.beans.PropertyChangeSupport
Classroom | Listener Version 13 https://github.com/CSC3100/Patterns
Student | Listener Version 14 https://github.com/CSC3100/Patterns
Teacher | Listener Version 15 https://github.com/CSC3100/Patterns
Scenario A 16
Scenario B 17
Singleton
Singleton 19
Singleton 20 https://github.com/CSC3100/Patterns
Singleton 21 https://github.com/CSC3100/Patterns
Warning 22 Do not Abuse of the Singleton You are
transforming OOP into Structural Programming!! 🙈
Example 1
Lab 24
Blueprint 25 M a in Dr a wAre a Dr
a wAre a Listener Repository
Main 26
DrawArea 27
DrawAreaListener 28
Repository 29
To be Continued…
Questions 31
Lab
None
CSC 305 Individual Software Design and Development Javier Gonzalez-Sanchez, Ph.D.
[email protected]
Summer 2025 Copyright. These slides can only be used as study material for the class CSC305 at Cal Poly. They cannot be distributed or used for another purpose.