際際滷

際際滷Share a Scribd company logo
Builder, Prototype,
Singleton
Design Pattern  Generation Pattern
Contents
 Builder
 Prototype
 Singleton
 Summary
Builder
覲旧″ 螳豌伎  螳讌  覦覯,  覦覯襷 狩 谿襯 螻
Motive & Usability
  螳豌伎  覦覯 れ
 MVC View  
 螳豌伎  覦覯 覿襴 れ
   螻襴讀 襴曙朱 譟伎 蟆曙
 れ  &  覦覯 狩 谿襦 
PDF
document
Structure & Contributors
Director
Construct()
Builder
BuildPart()
Concrete Builder
BuildPart()
GetResult()
Product
for all objects in structure {
builder->BuildPart()
}
蟲 觜 譬襯螳 れ
豢 觜(誤壱伎 螻)れ  谿 
 or  螳豌
Cooperation Method
new ConcreteBuilder
new Director(aConcreteBuilder)
Construct() BuildPartA()
BuildPartB()

GetResult()
aClient aDirector aConcretBuilder
Effect
  企  れ
 Builder襯 牛 企  覦覯 蟯襴
  覦覯 豢螳蟇磯   觚企煙 
  覦   貊 覿襴
  螳豌伎 碁 伎 貂′
  覦  谿 碁
 Director れ 螳豌
Implements
1. 譟壱, 蟲豢  誤壱伎 
 谿  豢螳   覿覿 誤壱伎る 
2.  螳豌伎 豢 覿
 襷れ伎 螳豌 螳 螻牛旧  蟆曙 豢 企るゼ 讌 
3. 朱朱 Builder 螳豌伎  蟲讌 
  螳 襦 讌 螻 覈誤旧 觜°
 Open-Close Principle
Prototype
  語ろ伎るゼ  燕 螳豌伎 譬襯襯 覈螻, 企蟆
襷 蟆覲語 覲旧伎 襦 螳豌企ゼ
Motive & Usability
 覓企覲 觚企 覦
 覯 螳豌企ゼ 豕 
 螳豌  觜 
 豐蠍 螳 讌 朱 螳 覲蟆渚 
 Factory るゴ! Factory!
 企 蠏碁9 燕讌 
 壱 企 蟆一
 Factory襦 燕 螳豌企ゼ 覲旧 覦覯朱 譟壱 螳
Structure & Contributors
Client
Operation()
Prototype
Clone()
p = prototype->Clone()
Prototype
Clone()
Prototype
Clone()
return copy of self return copy of self
Clone() 誤壱伎 
れ Clone()  蟲
螳れ
Effect
 壱 襦 螳豌 豢螳/
 螳, 蟲譟磯ゼ れ 襦 螳豌 
 覃る 覲 螳 磯 襦 螳豌 
 蠍磯蓋 螻蟆襷 朱 螻牛 一 覲
 觚企れ 襯 譴
 朱 企れ 磯 襦蠏碁 れ
 Prototype Manager襯 牛 企-襦蠏碁 螳 郁屋
Implements
1. Prototype Manager 
 譯朱 Factory Method襦 蟲蟇磯   豢螳 焔
2. Clone() 蟲
  覲旧/蟾 覲旧襯  蟲覿伎 
3. Clone() 豐蠍壱
 Clone()朱 螳豌  危 豐蠍 螳 れ
 Initialize() 豢螳 蟲
Singleton
れ  螳 企 語ろ伎る 螳襦 覲伎,  蠏殊 螻
= 覲
Motive & Usability, Structure
  覲 螳豌伎 覯
  螳豌企ゼ 觚企煙朱  螳
Singleton
static Instance()

static uniqueInstance
Singleton Data
Effect
 語ろ伎 蠏 旧
 namespace れ 覦
 一 覦  覦覯 襴
 Singleton  覦  企るゼ 
 語ろ伎 螳 覲蟆 螳
  螳 語ろ伎れ  蠏 覦覯 
  一 豌
Implements
1. 螳豌伎 殊 覲伎
  螳豌伎 語ろ伎 語  螻褐襷 譟伎蟆 蟲
  螳豌伎 豐蠍壱  豐蠍壱  覲伎 覓 
 C++ 語 谿  螳豌伎    讌 (undefined)
2. Singleton 觚企
 殊煙 覲伎ル 觚企 蟯襴
 觚企 讌ろ碁Μ
Implements
2. Singleton 觚企
 殊煙 覲伎ル 觚企 蟯襴
Summary
Summary
 Factory  蠏碁9  企
 Builder  螳豌 覲  or 螳豌   
 Prototype  Ctrl + C, Ctrl + V
 Singleton   覲 豌
Summary
Abstract Factory
virtual FactoryMethod() = 0
Singleton
Instance()
Concrete Factory
virtual FactoryMethod()
Concrete Factory
virtual FactoryMethod()
Concrete Factory
virtual FactoryMethod()
FactoryMethod() {
return prototype->Clone();
}

More Related Content

Viewers also liked (14)

Design patterns
Design patternsDesign patterns
Design patterns
Joshua Yoon
覓覓
Sukjin Yun
HolubOnPatterns/chapter2_2
HolubOnPatterns/chapter2_2HolubOnPatterns/chapter2_2
HolubOnPatterns/chapter2_2
SeungHyun Hwang
Presentation for lecture on underwater concrete - TU Delft: MSc Geotechnical ...
Presentation for lecture on underwater concrete - TU Delft: MSc Geotechnical ...Presentation for lecture on underwater concrete - TU Delft: MSc Geotechnical ...
Presentation for lecture on underwater concrete - TU Delft: MSc Geotechnical ...
Ruud Arkesteijn
IoC and DI Pattern
IoC and DI PatternIoC and DI Pattern
IoC and DI Pattern
Sangwon Ko
Servlet design pattern
Servlet design patternServlet design pattern
Servlet design pattern
Sukjin Yun
Heartbeat
HeartbeatHeartbeat
Heartbeat
Sangwon Ko
B Fn As
B Fn AsB Fn As
B Fn As
Sangwon Ko
危襴貅伎 蟲豢蠍
 危襴貅伎  蟲豢蠍 危襴貅伎  蟲豢蠍
危襴貅伎 蟲豢蠍
Sangwon Ko
Servlet Architecture
Servlet ArchitectureServlet Architecture
Servlet Architecture
JU Chae
= メ ≡梶求求п =求 = ≡メ
= メ ≡梶求求п =求 = ≡メ= メ ≡梶求求п =求 = ≡メ
= メ ≡梶求求п =求 = ≡メ
Sungchul Park
襦 覲企 Pattern 一覯
襦 覲企 Pattern 一覯襦 覲企 Pattern 一覯
襦 覲企 Pattern 一覯
hyun soomyung
UNDERWATER CONSTRUCTION
UNDERWATER CONSTRUCTIONUNDERWATER CONSTRUCTION
UNDERWATER CONSTRUCTION
Hamsui Harold
れ譯殊 誤 2 誤壱伎る 襦蠏碁覦蠍
れ譯殊 誤   2 誤壱伎る 襦蠏碁覦蠍れ譯殊 誤   2 誤壱伎る 襦蠏碁覦蠍
れ譯殊 誤 2 誤壱伎る 襦蠏碁覦蠍
Cosmos Shin
Design patterns
Design patternsDesign patterns
Design patterns
Joshua Yoon
HolubOnPatterns/chapter2_2
HolubOnPatterns/chapter2_2HolubOnPatterns/chapter2_2
HolubOnPatterns/chapter2_2
SeungHyun Hwang
Presentation for lecture on underwater concrete - TU Delft: MSc Geotechnical ...
Presentation for lecture on underwater concrete - TU Delft: MSc Geotechnical ...Presentation for lecture on underwater concrete - TU Delft: MSc Geotechnical ...
Presentation for lecture on underwater concrete - TU Delft: MSc Geotechnical ...
Ruud Arkesteijn
IoC and DI Pattern
IoC and DI PatternIoC and DI Pattern
IoC and DI Pattern
Sangwon Ko
Servlet design pattern
Servlet design patternServlet design pattern
Servlet design pattern
Sukjin Yun
危襴貅伎 蟲豢蠍
 危襴貅伎  蟲豢蠍 危襴貅伎  蟲豢蠍
危襴貅伎 蟲豢蠍
Sangwon Ko
Servlet Architecture
Servlet ArchitectureServlet Architecture
Servlet Architecture
JU Chae
= メ ≡梶求求п =求 = ≡メ
= メ ≡梶求求п =求 = ≡メ= メ ≡梶求求п =求 = ≡メ
= メ ≡梶求求п =求 = ≡メ
Sungchul Park
襦 覲企 Pattern 一覯
襦 覲企 Pattern 一覯襦 覲企 Pattern 一覯
襦 覲企 Pattern 一覯
hyun soomyung
UNDERWATER CONSTRUCTION
UNDERWATER CONSTRUCTIONUNDERWATER CONSTRUCTION
UNDERWATER CONSTRUCTION
Hamsui Harold
れ譯殊 誤 2 誤壱伎る 襦蠏碁覦蠍
れ譯殊 誤   2 誤壱伎る 襦蠏碁覦蠍れ譯殊 誤   2 誤壱伎る 襦蠏碁覦蠍
れ譯殊 誤 2 誤壱伎る 襦蠏碁覦蠍
Cosmos Shin

Similar to Builder, prototype, singleton pattern (20)

Design Pattern 3
Design Pattern 3Design Pattern 3
Design Pattern 3
Daniel Lim
[Swift] Abstract Factory
[Swift] Abstract Factory[Swift] Abstract Factory
[Swift] Abstract Factory
Bill Kim
蟲(覿價皿り覈碁)
蟲(覿價皿り覈碁)蟲(覿價皿り覈碁)
蟲(覿價皿り覈碁)
gimslide
Composite pattern
Composite patternComposite pattern
Composite pattern
求戟梶梶≡求釈求午 7
求戟梶梶≡求釈求午 7求戟梶梶≡求釈求午 7
求戟梶梶≡求釈求午 7
Yeonah Ki
Refelction 螳螻 RTTR 殊企襴
Refelction 螳螻 RTTR 殊企襴Refelction 螳螻 RTTR 殊企襴
Refelction 螳螻 RTTR 殊企襴
ssuser7c5a40
[Swift] Builder
[Swift] Builder[Swift] Builder
[Swift] Builder
Bill Kim
[′ろ襴渚] 1覿 ′ ろ襴渚 2.0
[′ろ襴渚] 1覿 ′ ろ襴渚 2.0[′ろ襴渚] 1覿 ′ ろ襴渚 2.0
[′ろ襴渚] 1覿 ′ ろ襴渚 2.0
MinGeun Park
Java script 螳襭_ed13
Java script 螳襭_ed13Java script 螳襭_ed13
Java script 螳襭_ed13
hungrok
Design patterns
Design patternsDesign patterns
Design patterns
df
覃3 - 螳螳 覦 , 蠏碁Μ螻 螳 API覓語
覃3  - 螳螳 覦 , 蠏碁Μ螻 螳 API覓語 覃3  - 螳螳 覦 , 蠏碁Μ螻 螳 API覓語
覃3 - 螳螳 覦 , 蠏碁Μ螻 螳 API覓語
uEngine Solutions
Api design for c++ ch3 pattern
Api design for c++ ch3 patternApi design for c++ ch3 pattern
Api design for c++ ch3 pattern
jinho park
Effective java
Effective javaEffective java
Effective java
Haeil Yi
[KGIT_EWD]class03 0322
[KGIT_EWD]class03 0322[KGIT_EWD]class03 0322
[KGIT_EWD]class03 0322
jylee6977
Angular 2 rc5 譟一
Angular 2 rc5 譟一Angular 2 rc5 譟一
Angular 2 rc5 譟一
Rjs Ryu
2014-15 Intermediate C++ Study #6
2014-15 Intermediate C++ Study #62014-15 Intermediate C++ Study #6
2014-15 Intermediate C++ Study #6
Chris Ohk
Software Architect day - 譬蟆 - metaworks3
Software Architect day -   譬蟆 -  metaworks3Software Architect day -   譬蟆 -  metaworks3
Software Architect day - 譬蟆 - metaworks3
uEngine Solutions
Api design for c++ pattern
Api design for c++ patternApi design for c++ pattern
Api design for c++ pattern
jinho park
Design Pattern 3
Design Pattern 3Design Pattern 3
Design Pattern 3
Daniel Lim
[Swift] Abstract Factory
[Swift] Abstract Factory[Swift] Abstract Factory
[Swift] Abstract Factory
Bill Kim
蟲(覿價皿り覈碁)
蟲(覿價皿り覈碁)蟲(覿價皿り覈碁)
蟲(覿價皿り覈碁)
gimslide
Composite pattern
Composite patternComposite pattern
Composite pattern
求戟梶梶≡求釈求午 7
求戟梶梶≡求釈求午 7求戟梶梶≡求釈求午 7
求戟梶梶≡求釈求午 7
Yeonah Ki
Refelction 螳螻 RTTR 殊企襴
Refelction 螳螻 RTTR 殊企襴Refelction 螳螻 RTTR 殊企襴
Refelction 螳螻 RTTR 殊企襴
ssuser7c5a40
[Swift] Builder
[Swift] Builder[Swift] Builder
[Swift] Builder
Bill Kim
[′ろ襴渚] 1覿 ′ ろ襴渚 2.0
[′ろ襴渚] 1覿 ′ ろ襴渚 2.0[′ろ襴渚] 1覿 ′ ろ襴渚 2.0
[′ろ襴渚] 1覿 ′ ろ襴渚 2.0
MinGeun Park
Java script 螳襭_ed13
Java script 螳襭_ed13Java script 螳襭_ed13
Java script 螳襭_ed13
hungrok
Design patterns
Design patternsDesign patterns
Design patterns
df
覃3 - 螳螳 覦 , 蠏碁Μ螻 螳 API覓語
覃3  - 螳螳 覦 , 蠏碁Μ螻 螳 API覓語 覃3  - 螳螳 覦 , 蠏碁Μ螻 螳 API覓語
覃3 - 螳螳 覦 , 蠏碁Μ螻 螳 API覓語
uEngine Solutions
Api design for c++ ch3 pattern
Api design for c++ ch3 patternApi design for c++ ch3 pattern
Api design for c++ ch3 pattern
jinho park
Effective java
Effective javaEffective java
Effective java
Haeil Yi
[KGIT_EWD]class03 0322
[KGIT_EWD]class03 0322[KGIT_EWD]class03 0322
[KGIT_EWD]class03 0322
jylee6977
Angular 2 rc5 譟一
Angular 2 rc5 譟一Angular 2 rc5 譟一
Angular 2 rc5 譟一
Rjs Ryu
2014-15 Intermediate C++ Study #6
2014-15 Intermediate C++ Study #62014-15 Intermediate C++ Study #6
2014-15 Intermediate C++ Study #6
Chris Ohk
Software Architect day - 譬蟆 - metaworks3
Software Architect day -   譬蟆 -  metaworks3Software Architect day -   譬蟆 -  metaworks3
Software Architect day - 譬蟆 - metaworks3
uEngine Solutions
Api design for c++ pattern
Api design for c++ patternApi design for c++ pattern
Api design for c++ pattern
jinho park

Builder, prototype, singleton pattern

  • 2. Contents Builder Prototype Singleton Summary
  • 3. Builder 覲旧″ 螳豌伎 螳讌 覦覯, 覦覯襷 狩 谿襯 螻
  • 4. Motive & Usability 螳豌伎 覦覯 れ MVC View 螳豌伎 覦覯 覿襴 れ 螻襴讀 襴曙朱 譟伎 蟆曙 れ & 覦覯 狩 谿襦 PDF document
  • 5. Structure & Contributors Director Construct() Builder BuildPart() Concrete Builder BuildPart() GetResult() Product for all objects in structure { builder->BuildPart() } 蟲 觜 譬襯螳 れ 豢 觜(誤壱伎 螻)れ 谿 or 螳豌
  • 6. Cooperation Method new ConcreteBuilder new Director(aConcreteBuilder) Construct() BuildPartA() BuildPartB() GetResult() aClient aDirector aConcretBuilder
  • 7. Effect 企 れ Builder襯 牛 企 覦覯 蟯襴 覦覯 豢螳蟇磯 觚企煙 覦 貊 覿襴 螳豌伎 碁 伎 貂′ 覦 谿 碁 Director れ 螳豌
  • 8. Implements 1. 譟壱, 蟲豢 誤壱伎 谿 豢螳 覿覿 誤壱伎る 2. 螳豌伎 豢 覿 襷れ伎 螳豌 螳 螻牛旧 蟆曙 豢 企るゼ 讌 3. 朱朱 Builder 螳豌伎 蟲讌 螳 襦 讌 螻 覈誤旧 觜° Open-Close Principle
  • 9. Prototype 語ろ伎るゼ 燕 螳豌伎 譬襯襯 覈螻, 企蟆 襷 蟆覲語 覲旧伎 襦 螳豌企ゼ
  • 10. Motive & Usability 覓企覲 觚企 覦 覯 螳豌企ゼ 豕 螳豌 觜 豐蠍 螳 讌 朱 螳 覲蟆渚 Factory るゴ! Factory! 企 蠏碁9 燕讌 壱 企 蟆一 Factory襦 燕 螳豌企ゼ 覲旧 覦覯朱 譟壱 螳
  • 11. Structure & Contributors Client Operation() Prototype Clone() p = prototype->Clone() Prototype Clone() Prototype Clone() return copy of self return copy of self Clone() 誤壱伎 れ Clone() 蟲 螳れ
  • 12. Effect 壱 襦 螳豌 豢螳/ 螳, 蟲譟磯ゼ れ 襦 螳豌 覃る 覲 螳 磯 襦 螳豌 蠍磯蓋 螻蟆襷 朱 螻牛 一 覲 觚企れ 襯 譴 朱 企れ 磯 襦蠏碁 れ Prototype Manager襯 牛 企-襦蠏碁 螳 郁屋
  • 13. Implements 1. Prototype Manager 譯朱 Factory Method襦 蟲蟇磯 豢螳 焔 2. Clone() 蟲 覲旧/蟾 覲旧襯 蟲覿伎 3. Clone() 豐蠍壱 Clone()朱 螳豌 危 豐蠍 螳 れ Initialize() 豢螳 蟲
  • 14. Singleton れ 螳 企 語ろ伎る 螳襦 覲伎, 蠏殊 螻 = 覲
  • 15. Motive & Usability, Structure 覲 螳豌伎 覯 螳豌企ゼ 觚企煙朱 螳 Singleton static Instance() static uniqueInstance Singleton Data
  • 16. Effect 語ろ伎 蠏 旧 namespace れ 覦 一 覦 覦覯 襴 Singleton 覦 企るゼ 語ろ伎 螳 覲蟆 螳 螳 語ろ伎れ 蠏 覦覯 一 豌
  • 17. Implements 1. 螳豌伎 殊 覲伎 螳豌伎 語ろ伎 語 螻褐襷 譟伎蟆 蟲 螳豌伎 豐蠍壱 豐蠍壱 覲伎 覓 C++ 語 谿 螳豌伎 讌 (undefined) 2. Singleton 觚企 殊煙 覲伎ル 觚企 蟯襴 觚企 讌ろ碁Μ
  • 18. Implements 2. Singleton 觚企 殊煙 覲伎ル 觚企 蟯襴
  • 20. Summary Factory 蠏碁9 企 Builder 螳豌 覲 or 螳豌 Prototype Ctrl + C, Ctrl + V Singleton 覲 豌
  • 21. Summary Abstract Factory virtual FactoryMethod() = 0 Singleton Instance() Concrete Factory virtual FactoryMethod() Concrete Factory virtual FactoryMethod() Concrete Factory virtual FactoryMethod() FactoryMethod() { return prototype->Clone(); }