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
210
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
CSC486 Lecture 14
javiergs
PRO
0
150
CSC486 Lecture 13
javiergs
PRO
0
100
CSC486 Lecture 12
javiergs
PRO
0
100
CSC486 Lecture 11
javiergs
PRO
0
59
CSC486 Lecture 10
javiergs
PRO
1
99
CSC486 Lecture 08
javiergs
PRO
0
85
CSC486 Lecture 07
javiergs
PRO
0
140
CSC486 Lecture 06
javiergs
PRO
0
120
CSC486 Lecture 05
javiergs
PRO
0
120
Other Decks in Programming
See All in Programming
設計の本質:コード、システム、そして組織へ / The Essence of Design: To Code, Systems, and Organizations
nrslib
10
3.8k
マイコンでもRustのtestがしたい/KernelVM Kansai 11
tnishinaga
1
880
音声プラットフォームのアーキテクチャ変遷から学ぶ、クラウドネイティブなバッチ処理 (20250422_CNDS2025_Batch_Architecture)
thousanda
0
420
Ruby で作る RISC-V CPU エミュレーター / RISC-V CPU emulator made with Ruby
hayaokimura
5
1.1k
状態と共に暮らす:ステートフルへの挑戦
ypresto
3
1.2k
個人開発の学生アプリが企業譲渡されるまで
akidon0000
2
1.2k
Global Azure 2025 @ Kansai / Hyperlight
kosmosebi
0
150
Vibe Coding の話をしよう
schroneko
14
3.8k
ドメイン駆動設計とXPで支える子どもの未来 / Domain-Driven Design and XP Supporting Children's Future
nrslib
0
270
ビカム・ア・コパイロット
ymd65536
1
130
開発者フレンドリーで顧客も満足?Platformの秘密
algoartis
0
220
生成AIで知るお願いの仕方の難しさ
ohmori_yusuke
1
120
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Fireside Chat
paigeccino
37
3.4k
Building an army of robots
kneath
305
45k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Building Applications with DynamoDB
mza
94
6.4k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
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.