Tulisan design pattern ini mengacu pada buku karangan GoF (The Gank Of Four : Erich Gamma,Richard Helm, Ralph Johnson, dan John Vlissides) yaitu : Design Patterns -Elements of Reusable Object-Oriented Software.
Dalam buku ini design pattern digambarkan sebagai bentuk komunikasi antara objek dan class yang telah di-costumize untuk mengatasi masalah design pada umumnya dalam kontek yang khusus. Ada 4 element penting dalam design pattern yaitu :Nama Pattern (Pattern Name), Permasalahan (problem), Solusi (Solution),dan konsekuensinya (consequences).
Sesuai penggunaan-nya :
A. Creational - Cara class/object di-inisiasi.
1. Factory Method (Class)
2. Abstract Factory (Object)
3. Builder (Object)
4. Prototype (Object)
5. Singleton (Object)
B. Structural - Struktur/relasi antar object/class
6. Adapter (Class)
7. Bridge (Object)
8. Composite (Object)
9. Decorator (Object)
10. Facade (Object)
11. Proxy (Object)
C. Behavioral - Tingkah laku atau fungsi dari class/object.
12. Interpreter (class)
13. Template Method (class)
14. Chain of Responsibility (Object)
15. Command (Object)
16. Iterator (Object)
17. Mediator (Object)
18. Memento (Object)
19. Flyweight (Object)
20. Observer (Object)
21. State (Object)
22. Strategy (Object)
23. Visitor (Object)
Sesuai ruang lingkupnya :
A. Class, menjelaskan relasi antar class dan sub-class, umumnya fixed saatruntime atau static.
Factory Method, Adapter, Interpreter dan Template.
B. Object, menjelaskan relasi antar object, dinamis sesuai kebutuhan.
Pattern lain kebanyakan ada di skope object.