Open ericltw opened 4 years ago
為針對特定編程問題,提供可重用的解決方案。
主要涉及OOP,但某些pattern可以應用於各種paradigm。
通常針對解決object生成和集成問題。
這些pattern充當template,可以應用於現實世界中的問題。
Creational
此類型針對object的創建和初始化,這類型的design pattern使程序在給定情況下,創建哪些object提供更大的靈活性。
ex: singleton, factory, abstract factory...
Structural
此類型處理class和object的組成。此類型著重在decouple interface, implementation of classes, and its objects.
ex: adapter, bridge...
Behavioral
此類型處理class和object之間的通信。
ex: chain of responsibility, command, interpreter...
Introduction to Design Patterns
https://www.youtube.com/watch?v=rI4kdGLaUiQ&list=PL6n9fhu94yhUbctIoxoVTrklN3LMwTCmd
Design Pattern
What is Design Pattern
為針對特定編程問題,提供可重用的解決方案。
主要涉及OOP,但某些pattern可以應用於各種paradigm。
通常針對解決object生成和集成問題。
這些pattern充當template,可以應用於現實世界中的問題。
Design Patterns Evolution
Types of Design Pattern
Creational
此類型針對object的創建和初始化,這類型的design pattern使程序在給定情況下,創建哪些object提供更大的靈活性。
ex: singleton, factory, abstract factory...
Structural
此類型處理class和object的組成。此類型著重在decouple interface, implementation of classes, and its objects.
ex: adapter, bridge...
Behavioral
此類型處理class和object之間的通信。
ex: chain of responsibility, command, interpreter...
Reference
Introduction to Design Patterns
https://www.youtube.com/watch?v=rI4kdGLaUiQ&list=PL6n9fhu94yhUbctIoxoVTrklN3LMwTCmd