Gambar1. 23 macam Design Pattern oleh Gang of Four (GoF)

 

Dalam pembuatan suatu software baik itu aplikasi maupun game terkadang programmer dapat suatu permasalah yang sama saat mengkoding. Permasalah tersebut terkadang ditemui berulang kali namun selalu diselesaikan dengan teknik yang selalu berbeda karena memiliki situasi yang berbeda, hal tersebut mengakibatkan pengembangan sebuah projek tersebut lama. Oleh karena itu Design Pattern membantu mensolusikan permasalahan-permasahalan yang umumnya berulang dalam pengembangan software, sehingga dengan permasalahan yang sama tidak perlu dilakukan pembuatan teknik atau pola baru dan pengembangan menjadi lebih cepat. 
Mengenal lebih dalam tentang Design Pattern dapat membantu pembuatan suatu projek yang besar menjadi lebih tertata rapi secara struktural dan dapat menjadi pembelajaran dasar bagaimana cara memahami suatu pola sehingga dapat menjadi suatu pemikiran global yang dapat digunakan disituasi apapun.

 

 
Apa itu Design Pattern?
Design Pattern sesuai dengan pembukaan diatas merupakan suatu metode untuk membantu mensolusikan permasalahan-permasahan yang umumnya berulang atau memiliki pola dalam pengembangan software.  Design Pattern bukan merupakan sebuah metode yang langsung dapat diubah menjadi kode program melainkan sebuah pola dasar atau template dari sebuah cara untuk menyelesaikan suatu permasalahan dalam situasi yang berbeda-beda.
Design Pattern dapat membantu mempercepat pengembangan suatu software karena pola-pola yang dijelaskan di dalam Design Pattern merupakan paradigma-paradigma yang telah teruji kegunaannya. Dengan menggunakan Design Pattern ini programmer dapat melakukan re-usabilitas projek lebih mudah.

 

Macam Design Pattern

Gambar 2. Tipe dari Design Pattern, Creational, Behavioral, dan Structural 

 

Didalam buku "Design Patterns: Elements of Reusable Object-Oriented Software" oleh Gang of Four, dijelaskan terdapat 23 macam pola atau pattern. Pola tersebut dibagi menjadi 3 bagian utama sesuai dengan kegunaannya, yaitu:

 

  1. Creational Pattern (Pola Pembuatan) 
    Creational Pattern merupakan pola yang digunakan untuk mensolusikan permasalahan yang ditemui dalam kejadian pembuatan suatu instance atau object. Creational Pattern dibagi menjadi 5 macam yaitu:
    • ♦ Factory Method
    • ♦ Prototype 
    • ♦ Abstract Factory
    • ♦ Builder
    • ♦ Singleton
       
  2. Behavioral Pattern (Pola Perilaku)
    Behavioral Pattern merupakan pola yang digunakan untuk mensolusikan permasahalan yang ditemui dalam komunikasi antar object-object. Behavioral Pattern dibagi menjadi 11 macam, yaitu:
    • ♦ Template Method
    • ♦ Strategy
    • ♦ Command
    • ♦ Memento
    • ♦ Mediator
    • ♦ State
    • ♦ Observer
    • ♦ Iterator
    • ♦ Chain of Responsibility
    • ♦ Interpreter
    • ♦ Visitor
       
  3. Structural Pattern (Pola Struktural)
    Structural Pattern merupakan pola yang digunakan untuk mensolusikan permasalahan yang ditemui dalam pengaturan komposisi class dan object. Structural Pattern dibagi menjadi structural class instantiation pattern yang menggunakan inheritance untuk mengubah interface, dan structural object pattern yang menjelaskan cara untuk mengubah object dengan fungsionalitas baru. Structural Pattern dibagi menjadi 7 macam pola, yaitu:
    • ♦ Adapter
    • ♦ Composite
    • ♦ Decorator
    • ♦ Proxy
    • ♦ Facade
    • ♦ Flyweight
    • ♦ Bridge

 

Detail dari masing-masing solusi akan dijelaskan dalam artikel yang berbeda-beda dan akan diberikan contoh implementasinya sehingga lebih mudah dipahami dan juga akan lebih banyak hal yang dapat dijelaskan.
 
 

Sumber Materi:
1. https://sourcemaking.com/design_patterns
2. http://www.vincehuston.org/dp/
3. http://www.tutorialspoint.com/design_pattern/
4. "Design Patterns: Elements of Reusable Object-Oriented Software" oleh Gang of Four

 

Sumber Gambar:
1. Gambar 1: https://www.script-tutorials.com/demos/412/periodic_table.png
2. Gambar 2: http://lakshmimavillapalli1987.blogspot.co.id/2014/04/java-design-patterns.html
Similar Article