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.
Hubungan relasi antara design pattern

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!

Design Pattern - Belajar Informatika
Belajar berbagai Design Pattern