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 Lecture 11
Search
Javier Gonzalez-Sanchez
PRO
October 15, 2024
Programming
0
110
CSC305 Lecture 11
Individual Software Design and Development
Observer and Listener
(202410)
Javier Gonzalez-Sanchez
PRO
October 15, 2024
Tweet
Share
More Decks by Javier Gonzalez-Sanchez
See All by Javier Gonzalez-Sanchez
CSC486 Lecture 04
javiergs
PRO
0
34
CSC486 Lecture 03
javiergs
PRO
0
17
CSC486 Lecture 02
javiergs
PRO
0
19
CSC486 Lecture 01
javiergs
PRO
0
41
CSC305 Lecture 26
javiergs
PRO
0
140
CSC305 Lecture 25
javiergs
PRO
0
140
CSC509 Lecture 14
javiergs
PRO
0
140
CSC305 Lecture 24
javiergs
PRO
0
50
CSC509 Lecture 13
javiergs
PRO
0
180
Other Decks in Programming
See All in Programming
“あなた” の開発を支援する AI エージェント Bedrock Engineer / introducing-bedrock-engineer
gawa
4
320
Alba: Why, How and What's So Interesting
okuramasafumi
0
210
20241217 競争力強化とビジネス価値創出への挑戦:モノタロウのシステムモダナイズ、開発組織の進化と今後の展望
monotaro
PRO
0
290
ATDDで素早く安定した デリバリを実現しよう!
tonnsama
1
1.9k
はてなにおけるfujiwara-wareの活用やecspressoのCI/CD構成 / Fujiwara Tech Conference 2025
cohalz
3
2.8k
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
390
ドメインイベント増えすぎ問題
h0r15h0
2
570
AppRouterを用いた大規模サービス開発におけるディレクトリ構成の変遷と問題点
eiganken
1
450
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
630
混沌とした例外処理とエラー監視に秩序をもたらす
morihirok
13
2.3k
CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
seike460
PRO
0
240
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
180
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
521
39k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
The Language of Interfaces
destraynor
155
24k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Optimizing for Happiness
mojombo
376
70k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
Unsuck your backbone
ammeep
669
57k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
19
2.3k
Typedesign – Prime Four
hannesfritz
40
2.5k
Docker and Python
trallard
43
3.2k
Transcript
Dr. Javier Gonzalez-Sanchez
[email protected]
www.javiergs.info o ffi ce: 14 -227
CSC 305 Individual Software Design and Development Lecture 11. Observers and Listeners
Previously
Context 3
GoF Patterns 4
Observer 5 Observer + update() Observable + addObserver() + notifyObservers()
+ setChanged() Teacher Student Main
Standard Solution: 1 2 3 4 5
Design Process Observer Pattern
GUI draft 8
Blueprint 9 Main Data Tower Disk Canvas Controller
Blueprint 10 👀👂 👀👂 💡 Main Data Tower Disk Canvas
Controller
Blueprint 11 👀👂 👀👂 💡 Main Data Tower Disk Canvas
Controller
Blueprint 12 Main Data Tower Disk Canvas Controller
Is this going to work? 13
Coding Observer Pattern
Blueprint 15 Main Data Tower Disk Canvas Controller
GameMain 16
https://github.com/CSC3100/Game-ToweHanoi
GameController ( a Listener) 18
https://github.com/CSC3100/Game-ToweHanoi
https://github.com/CSC3100/Game-ToweHanoi
https://github.com/CSC3100/Game-ToweHanoi
https://github.com/CSC3100/Game-ToweHanoi
https://github.com/CSC3100/Game-ToweHanoi
To be continued…
Questions 25
Lab
Homework 27 Work on your Assignment
CSC 305 Individual Software Design and Development Javier Gonzalez-Sanchez, Ph.D.
[email protected]
Summer 2024 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.