Saya berhasil mengatur semua aplikasi lama saya yang tidak menggunakan Pola Desain yang terdokumentasi. Pola apa pun itu, aku tidak tahu. Untuk sebagian besar, saya hanya merasa perlu menggunakan konsep OOP sederhana.
Konsep Pola Desain rumit dan sulit dipahami. Ketika diimplementasikan, bagaimana menentukan apakah implementasinya benar dan aplikasi memiliki kopling longgar nyata?
Jawaban:
Untuk menjaga jawaban tetap ringkas, saya akan mengatakan jika karakteristik berikut ini terlihat dalam kode Anda, Anda dapat yakin bahwa polanya sudah ada bahkan jika Anda belum melakukan upaya yang disengaja (yang bukan masalah) ke arah itu.
Karakteristik yang Diinginkan:
Jika Anda masih penasaran untuk mengidentifikasi dan menandai kode Anda dengan nama-nama pola nyata, saya akan merekomendasikan untuk melakukan tindakan berikut untuk mendapatkan bola bergulir.
Ini seharusnya memberi Anda ide yang adil.
sumber
Anda menyebutkan kedua pola desain dan kopling. Ini adalah konsep yang terpisah jadi saya akan membahasnya secara terpisah. Satu-satunya hubungan nyata adalah bahwa pola desain cenderung mempromosikan kopling longgar (karena ini merupakan aspek utama dari desain yang baik).
Pola desain
Konsep Pola Desain sebenarnya cukup sederhana: Mereka hanya seperangkat template tentang cara menangani berbagai masalah umum. Ada 2 alasan utama mengapa mereka populer:
Bagaimana Anda tahu bahwa Anda telah menerapkannya dengan benar? Itu rumit. Untuk sebagian besar pola itu sederhana - Anda telah mengguncangnya atau belum. Beberapa pola kurang terdefinisi dengan jelas daripada yang lain - misalnya model-view-controller . Pola seperti itu lebih baik digunakan sebagai pedoman umum. Spesifik bagaimana Anda menerapkannya kurang penting daripada memahami alasan bahwa pola itu ada dan apa yang ingin dicapai.
Pola desain bukan 'satu-satunya jalan yang sebenarnya'. Seringkali Anda perlu menyesuaikannya untuk tujuan spesifik Anda, atau kadang-kadang tidak ada pola yang sesuai dengan persyaratan. Memaksa pola desain yang tidak cocok adalah ide yang buruk; itu seperti menggunakan palu yang sangat bagus ketika apa yang Anda inginkan sebenarnya adalah obeng.
Kopel
Ini adalah ide yang sangat penting dalam ilmu komputer. Karena persyaratan untuk sebagian besar proyek perangkat lunak berubah seiring waktu (kadang-kadang secara signifikan) maka kemampuan desain untuk mengatasi perubahan adalah penting. Coupling pada dasarnya adalah ukuran "seberapa sulitkah untuk menukar komponen ini dengan yang lain?" 'Komponen' dapat berupa metode, kelas, paket, pustaka, dll.
Ada berbagai jenis sambungan yang tercantum dalam artikel Wikipedia ini .
sumber
Jawabannya sebenarnya adalah tujuan Anda ingin menulis pola desain dari awal. Mengapa Anda menginginkan fleksibilitas?
Itu adalah perubahan; persyaratan berubah. Cobalah untuk mengubah sesuatu dalam persyaratan Anda yang tercermin dalam perubahan kode dan lihat betapa mudah / sulitnya melakukannya.
sumber
Menggunakan pola desain adalah tindakan pencegahan. Anda menggunakan pola desain untuk memudahkan pekerjaan Anda saat Anda menskala aplikasi nanti. Tentu saja, untuk memudahkan pekerjaan Anda nanti, Anda harus melakukan lebih banyak pekerjaan sekarang. jadi pertanyaan sebenarnya adalah berapa banyak perubahan yang dapat Anda harapkan di masa depan dan apa perubahan ini. Jika Anda tidak membutuhkan skalabilitas dan fleksibilitas, Anda dapat menghapusnya dengan pola desain.
Pola desain sendiri merupakan implementasi dari Prinsip Desain Berorientasi Objek. Selama Anda mengikuti prinsip-prinsip ini aplikasi Anda akan menjadi fleksibel dan terukur; bahkan jika Anda tidak benar-benar memiliki pola desain yang sebenarnya. Seperti yang dikatakan oleh Joachim Sauer di atas, mereka adalah solusi umum untuk masalah umum.
sumber