Apa perbedaan antara Pola dan Prinsip Desain Berorientasi Obyek? Apakah mereka berbeda? Sejauh yang saya mengerti keduanya mencoba mencapai beberapa tujuan bersama (mis. Fleksibilitas). Jadi bisakah saya mengatakan bahwa sebuah pola adalah prinsip dan sebaliknya?
Prinsip Perancangan = SOLID (yaitu Prinsip Ketergantungan Pembalikan)
Pola Desain = Gof (yaitu Pola Pabrik Abstrak)
sumber
Konsep-konsep ini tidak sama:
* Prinsip Desain: * Prinsip-prinsip desain perangkat lunak mewakili seperangkat pedoman yang membantu kita untuk menghindari desain yang buruk. seperti: Buka Tutup Prinsip
* Pola Desain: * Pola Desain adalah solusi umum yang dapat digunakan kembali untuk masalah yang biasa terjadi dalam konteks tertentu dalam desain perangkat lunak. Seperti: Singleton
sumber
Pola adalah prinsip, implementasi apa untuk pola.
Prinsipnya adalah "tipuan", yang dapat dicapai dengan pola "pabrik", yang diterapkan sebagai kelas dengan metode pabrik pada akhirnya.
sumber
Nah, Prinsip adalah aturan sementara pola adalah contoh nyata mereka.
sumber
Pola lebih banyak hal tingkat tinggi, daripada prinsip. Pola menyelesaikan masalah tertentu. Prinsip dapat diterapkan di mana saja terlepas dari konteksnya. Sebenarnya pola berdasarkan prinsip (SRP, KERING, dll)
EG Mari kita lihat pola Strategi. Ini mendefinisikan keluarga algoritma, merangkum masing-masing, dan membuatnya dipertukarkan. Jadi, Anda memiliki konsep algoritma tingkat tinggi di sini. Dengan pola Negara, Anda memiliki konsep negara tingkat tinggi. Dengan prinsip Anda tidak memiliki konsep tingkat tinggi. Prinsip adalah blok bangunan, yang digunakan oleh patters untuk mencapai tujuan. Saat Anda menerapkan pola Strategi, Anda menggunakan SOLID:
sumber
Pola di mana awalnya didokumentasikan untuk Arsitektur. Dalam arsitektur, berlaku untuk hal-hal mulai dari penempatan pintu di ruangan hingga tata letak desa.
Geng Empat menerapkan ide untuk Pemrograman Berorientasi Objek. Mungkin ada lebih dari satu pola yang dapat digunakan untuk menyelesaikan masalah, tetapi masing-masing pola akan memiliki implementasi yang spesifik. Pola ada dalam pendekatan pemrograman lain, tetapi saya tidak mengetahui adanya buku yang berlaku. Seperti yang telah disebutkan oleh orang lain, Pola mencakup implementasi spesifik. Menggunakan pola ketika itu tidak berlaku sering dianggap sebagai anti-pola.
Prinsip tidak mencakup implementasi, meskipun mungkin ada pendekatan implementasi standar. Prinsip-prinsip lebih banyak membahas masalah-masalah umum daripada masalah-masalah spesifik. Untuk Inversion of Control, saya menyadari setidaknya tiga pendekatan implementasi. Untuk KERING (Jangan Ulangi Diri Sendiri) Saya tidak tahu tentang pendekatan implementasi spesifik menghanguskan, meskipun saya menggunakan beberapa.
Mempertimbangkan
sumber
Prinsip Desain OO—
Prinsip OO adalah seperangkat pedoman yang memastikan konsep OOP. Berdasarkan konsep OOP, ini mendefinisikan cara untuk merancang cara yang lebih baik, desain yang lebih baik. Prinsip dasar desain OO adalah SOLID.
Pola Desain memberikan solusi umum untuk masalah desain. Harap dicatat "pola desain" dapat diterapkan ke kata berorientasi objek siang juga. Jadi pola desain OO (OODP) adalah yang menyediakan solusi umum untuk prinsip OO desain berorientasi objek. Pola desain ditemukan, bukan diciptakan. Ada beberapa cara untuk mendefinisikan OODP dan yang paling terkenal adalah BSC [Behavioral Structural Creational].
Berikut ini adalah tautan untuk penjelasan terperinci. http://techythought.wordpress.com/2013/01/21/design-principle-vs-ds-design-pattern-describing-oop-elements/
sumber