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
44
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
CSC305 Lecture 12
javiergs
PRO
0
20
CSC509 Lecture 06
javiergs
PRO
0
120
CSC305 Lecture 10
javiergs
PRO
0
19
CSC509 Lecture 05
javiergs
PRO
0
170
CSC305 Lecture 09
javiergs
PRO
0
75
CSC305 Lecture 08
javiergs
PRO
0
51
CSC509 Lecture 04
javiergs
PRO
0
160
CSC305 Lecture 07
javiergs
PRO
0
100
CSC305 Lecture 06
javiergs
PRO
0
22
Other Decks in Programming
See All in Programming
perl for shell, awk and sed programmers
mackee
2
860
文化が生産性を作る
jimpei
3
590
Cloud Adoption Framework にみる組織とクラウド導入戦略
tomokusaba
2
580
Mercari AI/LLM Hackathon TeamBの発表資料
imaikosuke
0
140
Kotlin Multiplatform at Stable and Beyond (Kotlin Vienna, October 2024)
zsmb
2
390
Subclassing, Composition, Python, and You
hynek
3
180
(Deep|Web) Link support with expo-router
mrtry
0
180
DevFest Android in Korea 2024 - 안드로이드의 문단속 : 앱을 지키는 암호화 이야기
mdb1217
1
170
Modern Functional Fluent CFML REST by Luis Majano
ortus24
0
150
The Efficiency Paradox and How to Save Yourself and the World
hollycummins
0
210
20241004 モノタロウ式~ドメインモデリングとリアーキテクチャ
monotaro
PRO
2
480
MLOps in Mercari Group’s Trust and Safety ML Team
cjhj
1
130
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.6k
GraphQLとの向き合い方2022年版
quramy
43
13k
Building Applications with DynamoDB
mza
90
6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.5k
Documentation Writing (for coders)
carmenintech
65
4.4k
The Invisible Side of Design
smashingmag
297
50k
YesSQL, Process and Tooling at Scale
rocio
167
14k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
504
140k
What the flash - Photography Introduction
edds
67
11k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
23k
How GitHub Uses GitHub to Build GitHub
holman
473
290k
Visualization
eitanlees
143
15k
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.