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
150
CSC570 Lecture 13
javiergs
PRO
0
37
CSC307 Lecture 17
javiergs
PRO
0
120
UP Lecture 30
javiergs
PRO
0
84
UP Lecture 25
javiergs
PRO
0
75
CSC486 Lecture 14
javiergs
PRO
0
160
CSC486 Lecture 13
javiergs
PRO
0
110
CSC486 Lecture 12
javiergs
PRO
0
110
CSC486 Lecture 11
javiergs
PRO
0
66
Other Decks in Programming
See All in Programming
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
230
Claude Code + Container Use と Cursor で作る ローカル並列開発環境のススメ / ccc local dev
kaelaela
5
2.2k
スタートアップの急成長を支えるプラットフォームエンジニアリングと組織戦略
sutochin26
1
4.7k
AIと”コードの評価関数”を共有する / Share the "code evaluation function" with AI
euglena1215
1
150
10 Costly Database Performance Mistakes (And How To Fix Them)
andyatkinson
0
230
ruby.wasmで多人数リアルタイム通信ゲームを作ろう
lnit
3
450
初学者でも今すぐできる、Claude Codeの生産性を10倍上げるTips
s4yuba
16
11k
今ならAmazon ECSのサービス間通信をどう選ぶか / Selection of ECS Interservice Communication 2025
tkikuc
21
3.9k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
51
33k
チームで開発し事業を加速するための"良い"設計の考え方 @ サポーターズCoLab 2025-07-08
agatan
1
320
関数型まつりレポート for JuliaTokai #22
antimon2
0
160
Hypervel - A Coroutine Framework for Laravel Artisans
albertcht
1
110
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
KATA
mclloyd
30
14k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Music & Morning Musume
bryan
46
6.6k
Practical Orchestrator
shlominoach
188
11k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Optimizing for Happiness
mojombo
379
70k
Gamification - CAS2011
davidbonilla
81
5.3k
Embracing the Ebb and Flow
colly
86
4.7k
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.