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
0
88
CSC305 Summer Lecture 07
Individual Software Design and Development
Blackboard
(202508)
Javier Gonzalez-Sanchez
PRO
August 10, 2025
Tweet
Share
More Decks by Javier Gonzalez-Sanchez
See All by Javier Gonzalez-Sanchez
CSC364 Lecture 09
javiergs
PRO
0
66
CSC307 Lecture 09
javiergs
PRO
1
830
CSC307 Lecture 08
javiergs
PRO
0
670
CSC364 Lecture 08
javiergs
PRO
0
26
CSC307 Lecture 07
javiergs
PRO
0
550
CSC364 Lecture 07
javiergs
PRO
0
86
CSC307 Lecture 06
javiergs
PRO
0
680
CSC364 Lecture 06
javiergs
PRO
0
77
CSC307 Lecture 05
javiergs
PRO
0
490
Other Decks in Programming
See All in Programming
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
170
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
5.9k
「ブロックテーマでは再現できない」は本当か?
inc2734
0
280
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
370
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
160
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
120
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.8k
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
140
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
170
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.8k
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
150
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
200
Featured
See All Featured
Producing Creativity
orderedlist
PRO
348
40k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
55
Odyssey Design
rkendrick25
PRO
1
490
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
130
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Building Applications with DynamoDB
mza
96
6.9k
Testing 201, or: Great Expectations
jmmastey
46
8k
The Curious Case for Waylosing
cassininazir
0
230
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
820
Google's AI Overviews - The New Search
badams
0
900
Building an army of robots
kneath
306
46k
The browser strikes back
jonoalderson
0
360
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.