Bagaimana cara menyelesaikan problem software design dengan baik? Bagaimana caranya pembuatan kelas menjadi dinamis?
Bagaimana caranya agar suatu kelas dapat menerima perubahan kelas lain secara real time?
Ketika mendesain suatu perangkat lunak, kita sering kali berjumpa dengan masalah yang pada dasarnya serupa dengan problem yang dialami orang lain. Oleh karena itu, dibuatlah kumpulan solusi dari permasalahan tersebut dan diberi nama Design Pattern.
Apa Itu Design Pattern?
Design pattern merupakan kumpulan konsep rancangan yang bisa kita gunakan untuk memecahkan permasalahan-permasalahan yang sering ditemukan pada saat merancang suatu perangkat lunak.
Kita tidak bisa sekedar copy - paste suatu design pattern karena ini bukanlah suatu program / code tetapi berupa konsep rancangan yang perlu kita sesuaikan dengan kebutuhan program yang akan kita buat.
Design Pattern itu terdiri dari apa?
Berikut adalah bagian-bagian yang ada pada katalog design pattern.
- Intent: Penjelasan singkat dari masalah dan solusinya.
- Motivation: Penjelasan lebih lanjut dari masalah dan kenapa solusi tersebut dapat menyelesaikannya.
- Structure: Berupa Class Diagram yang menampilkan bagian dari pola dan bagaimana mereka berkaitan.
- Code Example: Contoh kode program dengan menggunakan bahasa pemrograman yang populer agar dapat lebih mudah dipahami cara implementasinya.
Klasifikasi dari Design Pattern
Secara umum design pattern dapat dikategorikan sebagai berikut.
Nama | Deskripsi |
---|---|
Creational Pattern | Tentang bagaimana proses pembuatan dari object dan meningkatkan fleksibilitas dan penggunaan kode yang sudah ada. |
Structural Pattern | Menjelaskan bagaimana cara menyusuan object dan class menjadi struktur yang lebih besar, dengan tetap menjaga struktur dan efisiensi kode. |
Behavioral Pattern | Mengandle cara efektif berkomunikasi dan penerapan tanggung jawab diantara object. |
Berikut katalog dari design pattern sesuai dengan gambar di atas.
Kategori | Design Pattern |
---|---|
Creational Pattern | Abstract Factory |
Builder | |
Factory Method | |
Singleton | |
Prototype | |
Structural Pattern | Adapter |
Bridge | |
Composite | |
Decorator | |
Facade | |
Flyweight | |
Proxy | |
Behavorial Pattern | Chain of Responsibility |
Command | |
Interpreter | |
Iterator | |
Mediator | |
Memento | |
Observer | |
State | |
Strategy | |
Template Method | |
Visitor |
Demikian perkenalan kita terhadap design pattern, jangan lupa untuk mengikuti serial design pattern di blog ini!