definition of design pattern

Design Pattern merupakan bagian dari suatu arsitekture dan desain sebuah aplikasi. Di sini saya ingin berbagi pengalaman saat belajar mengenai Design Pattern. Desain Pattern yang saya pelajari 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.
Tulisan pertama ini merupakan overview dari pattern itu sendiri. Istilah pattern sendiri bisa digambarkan sebagai sebuah solusi untuk problem2 dari desain aplikasi yang sering ditemukan dimana problem2 tersebut merupakan problem yang umum dan sering kali berulang dalam desain aplikasi. Ada 23 pattern yang dibahas dalam buku GoF, dan bisa dipisahkan sesuai dengan penggunaan-nya dan ruang lingkupnya.

Sesuai penggunaan-nya :

A. Creational – Cara class/object di-inisiasi.
1. Factory Method
2. Abstract Factory
3. Builder
4. Prototype
5. Singleton

B. Structural – Struktur/relasi antar object/class
6. Adapter
7. Bridge
8. Composite
9. Decorator
10. Facade
11. Proxy

C. Behavioral – Tingkah laku atau fungsi dari class/object.
12. Interpreter
13. Template Method
14. Chain of Responsibility
15. Command
16. Iterator
17. Mediator
18. Memento
19. Flyweight
20. Observer
21. State
22. Strategy
23. Visitor

Sesuai ruang lingkupnya :
A. Class, menjelaskan relasi antar class dan sub-class, umumnya fixed saat runtime atau static.
Factory Method, Adapter, Interpreter dan Template.
B. Object, menjelaskan relasi antar object, dinamis sesuai kebutuhan.
Pattern lain kebanyakan ada di skope object. (be continue..)

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s