it-swarm-id.com

Apa pola desain yang paling sering digunakan?

Pola desain mana yang menurut Anda paling populer?

24
Tamara Wijsman

Saya cukup yakin yang paling umum adalah 'The Big Ball of Mud'. Sayangnya untuk kita semua.
http://en.wikipedia.org/wiki/Big_ball_of_mud

39
Jay

MVC dan variasinya jelas merupakan salah satu pola desain teratas.

25
ysolik

Jika Anda berbicara tentang Pola desain Gang-of-Four saya harus mengatakan Singleton. Ini adalah keadaan yang sangat menyedihkan - hampir seolah-olah programmer mendengar tentang keajaiban pola desain dan kemudian berhenti setelah yang pertama.

Jika Anda berbicara tentang pola gaya arsitektur (dengan kata lain, pola desain yang menjangkau beberapa kelas atau lapisan) saya harus mengatakan MVC . Beberapa yang populer lainnya adalah repositori pola dan service-locator.

21
Jaco Pretorius

Pengamat

Jika Anda pernah menggunakan suatu acara. Anda telah menggunakan Pengamat.

16
Steven Evers

Dekorator

Tambahkan fungsionalitas ke objek saat runtime melalui komposisi. Favorit pribadi saya.

Sunting: Juga Pabrik mungkin salah satu yang paling umum.

7
JD Isaacks

Mengapa tidak ada yang menyebutkan iterator? Terutama dengan semua peta yang membentuk struktur data yang kompleks ... ini yang paling saya gunakan. Atau apakah kita berbicara tentang pola yang kita terapkan kembali?

5
ToTheBeach

Pola Strategi

Jika Anda pernah menggunakan injeksi ketergantungan, Anda telah menggunakan pola strategi.

5
richeym

Fasad

Pikirkan setiap REST antarmuka seperti Twitter atau SO API. Ini menyembunyikan banyak hal back end yang, setidaknya dalam kasus twitters, bisa sangat rumit .

Apakah saya peduli tweet db tables @ apklusk disimpan? Dan itu memiliki cache cepat? Dan bahwa @shemnon memiliki jumlah pembaca yang rendah, kicauan selalu di luar memori? Itulah keajaiban Fasad.

5
shemnon

Saya terkejut tidak ada yang menyebutkan pola Pabrik, dalam pengalaman saya itu adalah salah satu pola yang paling banyak digunakan (dan juga paling banyak disalahgunakan) di luar sana. Jika tidak pertama, mungkin singleton harus menjadi yang pertama, saya akan berpikir ini akan menjadi yang kedua.

3
AlexC

Bersamaan dengan jawaban saya sebelumnya, saya akan menambahkan yang baru saya bertemu hari ini dari binatang buas saya dari proyek yang diwarisi:

Salin/Tempel

Saat debugging saya menemukan sepotong kode yang memanggil 2 fungsi yang bernama sama:

if(x)
   Func1
else
   Func2

Func1 dan Func2 memiliki parameter yang sama. Saya menarik mereka keluar dan melakukan diffed, dan mereka 100% sama kecuali untuk panggilan Func1, Func3 dan Func2, memanggil Func4. Saya mengeluarkannya dan membedakannya. 100% sama, kecuali untuk 1 baris. Jadi seorang programmer sebelumnya memutuskan untuk menyalin dan menempelkan dua fungsi bersarang 50-garis, alih-alih menambahkan parameter flag, ke 2 fungsi pribadi yang digunakan tepat di 1 tempat. Itu membuat saya ingin menangis.

3
Jay

Berbicara tentang pola desain Gang-of-Four, saya tidak bisa memikirkan program yang tidak menggunakan pola Observer. Juga, seperti yang disebutkan Jaco, Singleton juga sangat digunakan, sayangnya itu telah menjadi palu (programmer mana pun menggunakannya meskipun itu tidak sepenuhnya diperlukan).

2
Cristian

Penerjemah

Jarang diimplementasikan, sering digunakan. XPATH, XSLT, Regex, pemilih jQuery, dll.

2
Jesse Millikan

Spesifikasi

Saya tidak berpikir itu terdaftar di GoF, tapi saya menggunakan variasi itu setiap saat.

1
John Kraft

Saya terkejut belum ada yang mengatakan "Builder". Atau "Adaptor". Mereka mungkin tidak eksotis seperti beberapa yang lain yang disebutkan, tetapi saya menggunakannya sepanjang waktu. Pabrik dan Pabrik Abstrak sangat umum juga (tetapi sudah diambil).

1
Tim Claason

Pola desain yang paling sering digunakan adalah, jelas, Spaghetti .

1
SK-logic

Pada tingkat desain perangkat lunak, saya berpendapat bahwa Komposit, Strategi dan Templat (dan pada tingkat lebih rendah, Factory) adalah penggunaan yang paling luas. Selama sekitar sepuluh tahun terakhir, kami telah melihat preferensi untuk komposisi daripada warisan ketika membangun sistem kami menggunakan desain OO. Sebagai hasilnya, kombinasi dari pola yang baru saja disebutkan memainkan peran yang jauh lebih penting daripada semua IMO lainnya.

Secara arsitektur, saya berpendapat untuk MVC di perusahaan, dan pola berdasarkan mesin negara di sisi yang melekat hal.

0
luis.espinal