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
150
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
CSC307 Lecture 16
javiergs
PRO
0
49
CSC570 Lecture 13
javiergs
PRO
0
27
CSC307 Lecture 17
javiergs
PRO
0
3
UP Lecture 30
javiergs
PRO
0
81
UP Lecture 25
javiergs
PRO
0
71
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
60
Other Decks in Programming
See All in Programming
Language Server と喋ろう – TSKaigi 2025
pizzacat83
2
670
Rails産でないDBを Railsに引っ越すHACK - Omotesando.rb #110
lnit
1
100
Interface vs Types ~型推論が過多推論~
hirokiomote
1
230
AI Coding Agent Enablement in TypeScript
yukukotani
17
7.2k
Spring gRPC で始める gRPC 入門 / Introduction to gRPC with Spring gRPC
mackey0225
0
120
クラシルリワードにおける iOSアプリ開発の取り組み
funzin
1
810
❄️ tmux-nixの実装を通して学ぶNixOSモジュール
momeemt
1
120
從零到一:搭建你的第一個 Observability 平台
blueswen
0
220
TypeScript製IaCツールのAWS CDKが様々な言語で実装できる理由 ~他言語変換の仕組み~ / cdk-language-transformation
gotok365
7
380
SpringBootにおけるオブザーバビリティのなにか
irof
1
890
コードに語らせよう――自己ドキュメント化が内包する楽しさについて / Let the Code Speak
nrslib
5
1k
Rethinking Data Access: The New httpResource in Angular
manfredsteyer
PRO
0
220
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Typedesign – Prime Four
hannesfritz
41
2.6k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
1
79
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Code Review Best Practice
trishagee
68
18k
We Have a Design System, Now What?
morganepeng
52
7.6k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.8k
GraphQLとの向き合い方2022年版
quramy
46
14k
Transcript
Dr. Javier Gonzalez-Sanchez
[email protected]
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.
[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.