Design Patterns in Java-Creational-Notes
-
Upload
chinh-nguyen -
Category
Technology
-
view
636 -
download
1
Transcript of Design Patterns in Java-Creational-Notes
![Page 1: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/1.jpg)
Design Patterns in Java: NotesSource: https://app.pluralsight.com
Ngo Nguyen ChinhHa Noi 2016
![Page 2: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/2.jpg)
Table of Contents• Creational• Structural• Behavioral
![Page 3: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/3.jpg)
Why Learn Pattern?
![Page 4: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/4.jpg)
Pattern Classifications
![Page 5: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/5.jpg)
Part I - Creational
![Page 6: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/6.jpg)
Which Patterns
![Page 7: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/7.jpg)
How Do We Learn Them?
![Page 8: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/8.jpg)
Chapter 1: Singleton Pattern
![Page 9: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/9.jpg)
Singleton - Concepts
![Page 10: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/10.jpg)
Singleton - Design Considerations
![Page 11: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/11.jpg)
Singleton - Example: Runtime
![Page 12: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/12.jpg)
Singleton - Create Singleton
![Page 13: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/13.jpg)
Singleton - Demo: Static Singleton
![Page 14: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/14.jpg)
Singleton - Demo: Lazy Loading
![Page 15: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/15.jpg)
Singleton - Demo: Lazy Loading
![Page 16: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/16.jpg)
Singleton - Demo: Threadsafe
![Page 17: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/17.jpg)
Singleton - Demo: Add Database
![Page 18: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/18.jpg)
Singleton - Demo: Add Database
![Page 19: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/19.jpg)
Singleton - Demo: Add Database
![Page 20: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/20.jpg)
Singleton - Pitfalls
![Page 21: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/21.jpg)
Singleton - Contrast to Other Patterns
![Page 22: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/22.jpg)
Singleton - Summary
![Page 23: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/23.jpg)
Chapter 2: Builder Pattern
![Page 24: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/24.jpg)
Builder - Concepts
![Page 25: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/25.jpg)
Builder – Design Considerations
![Page 26: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/26.jpg)
Builder - Example: StringBuilder
![Page 27: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/27.jpg)
Builder - Create Builder
![Page 28: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/28.jpg)
Builder - Demo: JavaBean Setters
![Page 29: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/29.jpg)
Builder - Demo: JavaBean Setters
![Page 30: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/30.jpg)
Builder - Demo: Telescoping
![Page 31: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/31.jpg)
Builder - Demo: Telescoping
![Page 32: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/32.jpg)
Builder - Demo: Builder
![Page 33: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/33.jpg)
Builder - Demo: Builder
![Page 34: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/34.jpg)
Builder - Demo: Builder
![Page 35: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/35.jpg)
Builder - Pitfalls
![Page 36: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/36.jpg)
Builder - Contrast to Other Patterns
![Page 37: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/37.jpg)
Builder - Summary
![Page 38: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/38.jpg)
Chapter 3: Prototype Pattern
![Page 39: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/39.jpg)
Prototype - Concepts
![Page 40: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/40.jpg)
Prototype - Design Considerations
![Page 41: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/41.jpg)
Prototype - Example: Statement
![Page 42: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/42.jpg)
Prototype - Create Prototype
![Page 43: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/43.jpg)
Prototype - Demo: Prototype
![Page 44: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/44.jpg)
Prototype - Demo: Prototype
![Page 45: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/45.jpg)
Prototype - Demo: Prototype
![Page 46: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/46.jpg)
Prototype - Demo: Prototype
![Page 47: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/47.jpg)
Prototype - Pitfalls
![Page 48: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/48.jpg)
Prototype - Contrast to Other Patterns
![Page 49: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/49.jpg)
Prototype - Summary
![Page 50: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/50.jpg)
Chapter 4: Factory Method Pattern
![Page 51: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/51.jpg)
Factory Method - Concepts
![Page 52: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/52.jpg)
Factory Method – Design Considerations
![Page 53: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/53.jpg)
Factory Method - Example: Calendar
![Page 54: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/54.jpg)
Factory Method - Create Factory
![Page 55: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/55.jpg)
Factory Method - Demo: Factory
![Page 56: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/56.jpg)
Factory Method - Demo: Factory
![Page 57: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/57.jpg)
Factory Method - Demo: Factory
![Page 58: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/58.jpg)
Factory Method - Demo: Factory
![Page 59: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/59.jpg)
Factory Method - Demo: Factory
![Page 60: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/60.jpg)
Factory Method - Pitfalls
![Page 61: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/61.jpg)
Factory Method – Contrast to Other Patterns
![Page 62: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/62.jpg)
Factory Method - Summary
![Page 63: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/63.jpg)
Chapter 5: AbstractFactory Pattern
![Page 64: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/64.jpg)
AbstractFactory - Concepts
![Page 65: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/65.jpg)
AbstractFactory - Design Considerations
![Page 66: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/66.jpg)
Example: DocumentBuilderFactory
![Page 67: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/67.jpg)
Demo: DocumentBuilderFactory
![Page 68: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/68.jpg)
Exercise: Create AbstractFactory
![Page 69: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/69.jpg)
AbstractFactory - Demo: AbstractFactory
![Page 70: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/70.jpg)
AbstractFactory - Demo: AbstractFactory
![Page 71: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/71.jpg)
AbstractFactory - Demo: AbstractFactory
![Page 72: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/72.jpg)
AbstractFactory - Demo: AbstractFactory
![Page 73: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/73.jpg)
AbstractFactory - Demo: AbstractFactory
![Page 74: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/74.jpg)
AbstractFactory - Demo: AbstractFactory
![Page 75: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/75.jpg)
AbstractFactory - Demo: AbstractFactory
![Page 76: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/76.jpg)
AbstractFactory - Pitfalls
![Page 77: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/77.jpg)
Contrast to Other Patterns
![Page 78: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/78.jpg)
AbstractFactory - Summary
![Page 79: Design Patterns in Java-Creational-Notes](https://reader036.fdocuments.net/reader036/viewer/2022062223/5878150f1a28ab971e8b7d03/html5/thumbnails/79.jpg)
Thanks!