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 14
Search
Javier Gonzalez-Sanchez
PRO
October 22, 2024
Programming
0
110
CSC305 Lecture 14
Individual Software Design and Development
Strategy
(202502)
Javier Gonzalez-Sanchez
PRO
October 22, 2024
Tweet
Share
More Decks by Javier Gonzalez-Sanchez
See All by Javier Gonzalez-Sanchez
CSC486 Lecture 12
javiergs
PRO
0
56
CSC486 Lecture 11
javiergs
PRO
0
28
CSC486 Lecture 10
javiergs
PRO
0
53
CSC486 Lecture 08
javiergs
PRO
0
53
CSC486 Lecture 07
javiergs
PRO
0
100
CSC486 Lecture 06
javiergs
PRO
0
82
CSC486 Lecture 05
javiergs
PRO
0
72
CSC486 Lecture 04
javiergs
PRO
0
43
CSC486 Lecture 03
javiergs
PRO
0
28
Other Decks in Programming
See All in Programming
自力でTTSモデルを作った話
zgock999
0
100
Bedrock Agentsレスポンス解析によるAgentのOps
licux
3
920
密集、ドキュメントのコロケーション with AWS Lambda
satoshi256kbyte
1
210
Djangoにおける複数ユーザー種別認証の設計アプローチ@DjangoCongress JP 2025
delhi09
PRO
4
470
.NET Frameworkでも汎用ホストが使いたい!
tomokusaba
0
200
CDKを使ったPagerDuty連携インフラのテンプレート化
shibuya_shogo
0
110
kintone開発を効率化するためにチームで試した施策とその結果を大放出!
oguemon
0
150
Honoをフロントエンドで使う 3つのやり方
yusukebe
7
3.5k
2025.2.14_Developers Summit 2025_登壇資料
0101unite
0
190
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
1.2k
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
190
苦しいTiDBへの移行を乗り越えて快適な運用を目指す
leveragestech
0
1k
Featured
See All Featured
How GitHub (no longer) Works
holman
314
140k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Agile that works and the tools we love
rasmusluckow
328
21k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
430
Writing Fast Ruby
sferik
628
61k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
Building Your Own Lightsaber
phodgson
104
6.2k
Transcript
Dr. Javier Gonzalez-Sanchez javiergs@calpoly.edu www.javiergs.info o ffi ce: 14 -227
CSC 305 Individual Software Design and Development Lecture 14. Factory + Strategy
Previously …
Builder 3 https://refactoring.guru/design-patterns/builder
Chain of Responsibility 4
GoF Patterns 5
Abstract Factory
Factory 7
Strategy
Strategy 9
Connecting the Dots
From an Idea 11 Main Factory Gift Ball Box Envelop
From an Idea B 12 Main Factory Gift Ball Box
Envelop Handler Supervisor Bin ShippingStrategy Land Air
To A Software Design (UML Class Diagram) 13
To Code 14
Factory 15
Chain of Responsibilities 16
Decorator 17
Decorator 18
Observer 19
None
Bin 21 In main: In ConcreteHandlerWithBox: In ConcreteHandlerWithEnvelop:
Questions 22
Assignment
Code 24 Main Factory Gift Ball Box Envelop Handler Supervisor
Bin ShippingStrategy Land Air
CSC 305 Individual Software Design and Development Javier Gonzalez-Sanchez, Ph.D.
javiergs@calpoly.edu 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.