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 12
Search
Javier Gonzalez-Sanchez
PRO
October 16, 2024
Programming
0
220
CSC305 Lecture 12
Individual Software Design and Development
Connecting the Dots
(202502)
Javier Gonzalez-Sanchez
PRO
October 16, 2024
Tweet
Share
More Decks by Javier Gonzalez-Sanchez
See All by Javier Gonzalez-Sanchez
CSC307 Lecture 16
javiergs
PRO
0
150
CSC570 Lecture 13
javiergs
PRO
0
37
CSC307 Lecture 17
javiergs
PRO
0
120
UP Lecture 30
javiergs
PRO
0
83
UP Lecture 25
javiergs
PRO
0
74
CSC486 Lecture 14
javiergs
PRO
0
150
CSC486 Lecture 13
javiergs
PRO
0
110
CSC486 Lecture 12
javiergs
PRO
0
110
CSC486 Lecture 11
javiergs
PRO
0
65
Other Decks in Programming
See All in Programming
Blazing Fast UI Development with Compose Hot Reload (droidcon New York 2025)
zsmb
1
230
Team operations that are not burdened by SRE
kazatohiei
1
260
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
440
既存デザインを変更せずにタップ領域を広げる方法
tahia910
1
240
Team topologies and the microservice architecture: a synergistic relationship
cer
PRO
0
1.1k
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
330
datadog dash 2025 LLM observability for reliability and stability
ivry_presentationmaterials
0
120
Azure AI Foundryではじめてのマルチエージェントワークフロー
seosoft
0
140
CursorはMCPを使った方が良いぞ
taigakono
1
180
XP, Testing and ninja testing
m_seki
3
200
deno-redisの紹介とJSRパッケージの運用について (toranoana.deno #21)
uki00a
0
150
童醫院敏捷轉型的實踐經驗
cclai999
0
190
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
31
8.6k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Rails Girls Zürich Keynote
gr2m
94
14k
Become a Pro
speakerdeck
PRO
28
5.4k
How to Ace a Technical Interview
jacobian
277
23k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Music & Morning Musume
bryan
46
6.6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Balancing Empowerment & Direction
lara
1
370
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
A Tale of Four Properties
chriscoyier
160
23k
Transcript
Dr. Javier Gonzalez-Sanchez
[email protected]
www.javiergs.info o ffi ce: 14 -227
CSC 305 Individual Software Design and Development Lecture 12. Connecting the Dots
Previously
GoF Patterns 3
Observer 4
Singleton 5
Composite 6
Application 7
Connecting the Dots
Application | GUI 9 Main JFrame ChartPanel JPanel
Application | Data Gathering 10 Main JFrame ChartPanel Thread Genius
JPanel
Application | Observer 11 Main JFrame ChartPanel Thread <<Singleton>> Board
Genius JPanel PropertyChange Listener PropertyChange Support
MarkerDecoratorShadow MarkerDecoratorDot MarkerSimple Application | Decorator 12 MarkerDecoratorDot MarkerSimple MarkerSimple
ChallengePlotter | Main 13 https://github.com/CSC3100/Patterns
ChallengePlotter | Genius | Runnable 14 https://github.com/CSC3100/Patterns
ChallengePlotter | Board | Singleton, Observable 15 https://github.com/CSC3100/Patterns
ChallengePlotter | ChartPanel | Observer 16 https://github.com/CSC3100/Patterns
ChallengePlotter | Marker | Decorator 17 https://github.com/CSC3100/Patterns
ChallengePlotter | MarkerDecorator | Decorator 18 https://github.com/CSC3100/Patterns
ChallengePlotter | MarkerDecoratorBar | Decorator 19 https://github.com/CSC3100/Patterns
ChallengePlotter | MarkerDecoratorDot | Decorator 20 https://github.com/CSC3100/Patterns
ChallengePlotter | MarkerSimple | Decorator 21 https://github.com/CSC3100/Patterns
Questions 22
Lab
GUI 24
Shape Decorator 25 New 1st-click 2nd-click 3rd-click 4th-click
Shape Decorator 26 New 1st-click 2nd-click 3rd-click 4th-click
CSC 305 Individual Software Design and Development Javier Gonzalez-Sanchez, Ph.D.
[email protected]
Winter 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.