Apa itu Design Patterns

Dalam rekayasa perangkat lunak, pola desain atau Design Patterns adalah solusi umum yang dapat diulang untuk masalah yang umum terjadi dalam desain perangkat lunak. Pola desain bukanlah desain jadi yang dapat diubah langsung menjadi kode. Ini adalah deskripsi atau template untuk bagaimana memecahkan masalah yang dapat digunakan dalam banyak situasi yang berbeda.

Apa Itu Design Patterns, Kegunaan Dan Strukturnya


Kegunaan Design Patterns

Pola desain/ Design Patterns dapat mempercepat proses pengembangan dengan menyediakan paradigma pengembangan yang teruji dan terbukti. Desain perangkat lunak yang efektif memerlukan pertimbangan masalah yang mungkin tidak terlihat sampai nanti dalam implementasi. Menggunakan kembali pola desain membantu mencegah masalah halus yang dapat menyebabkan masalah besar dan meningkatkan keterbacaan kode untuk pembuat kode dan arsitek yang akrab dengan pola tersebut.

Seringkali, orang hanya mengerti bagaimana menerapkan teknik desain perangkat lunak tertentu untuk masalah tertentu. Teknik-teknik ini sulit untuk diterapkan pada masalah yang lebih luas. Pola desain memberikan solusi umum, didokumentasikan dalam format yang tidak memerlukan spesifik terkait dengan masalah tertentu.

Selain itu, pola memungkinkan pengembang untuk berkomunikasi menggunakan nama yang dikenal dan dipahami dengan baik untuk interaksi perangkat lunak. Pola desain umum dapat ditingkatkan dari waktu ke waktu, membuatnya lebih kuat daripada desain ad-hoc.



Struktural Design Patterns

Pola desain/ Design Patterns ini adalah tentang komposisi Kelas dan Objek. Pola pembuatan kelas struktural menggunakan pewarisan untuk menyusun antarmuka. Pola objek struktural menentukan cara untuk menyusun objek untuk mendapatkan fungsionalitas baru.

Adaptor

Cocokkan antarmuka dari kelas yang berbeda

Bridge

Memisahkan antarmuka objek dari implementasinya

Composite

Struktur pohon dari objek sederhana dan komposit

Decorator

Tambahkan tanggung jawab ke objek secara dinamis

Facade

Kelas tunggal yang mewakili seluruh subsistem

Flyweight

Instance halus yang digunakan untuk berbagi secara efisien

Private Class Data

Membatasi akses pengakses/mutator

Proksi

Sebuah objek yang mewakili objek lain


Baca Juga Artike Konsep Koding Lainnya:

Apa Itu usability testing, Kegunaan Dan Keuntungan?

Pengertian Model V, Tahapan, Kelebihan Kekurangan Dalam Pengembangan Perangkat Lunak