Masalah apa yang mungkin saya hadapi, jika saya tidak akan menggunakan Pola Desain Perangkat Lunak? Bisakah Anda ceritakan tentang masalah mendekati desain menggunakan teknik berorientasi objek standar?
design-patterns
iStudent
sumber
sumber
Jawaban:
Anda tidak mengerti intinya.
Pola Desain secara inheren ada ketika melakukan desain perangkat lunak, seperti pola struktural yang ada di dunia. Bahkan jika Anda tidak tahu nama benda, pada akhirnya Anda akan menemukan bahwa struktur fisik tertentu cocok untuk masalah tertentu. Anda akan menemukan bahwa bentuk segitiga batang kayu / logam / etc adalah struktur yang sangat stabil, tetapi hanya pada bidang. Anda akan menemukan batu bata persegi memiliki kelebihan tertentu daripada yang bulat ...
Demikian juga, struktur perangkat lunak tertentu dalam beberapa cara unik atau optimal. Anda akhirnya akan menemukannya dan menggunakannya terlepas jika Anda tahu nama untuk mereka. Itulah inti dari apa pola desain - mereka adalah nama untuk struktur ini yang diketahui dan digunakan oleh pemrogram berpengalaman. Ini memberi programmer kemampuan untuk berkomunikasi jauh lebih seragam dan ringkas. Ini juga memungkinkan pemrogram berpikir dalam konsep pola dengan lebih sadar.
Jadi dua poin utama yang saya coba buat:
sumber
Mereka yang tidak dapat mengingat masa lalu dikutuk untuk mengulanginya.
Anda tidak akan menghadapi masalah khusus apa pun selain yang diajukan oleh desain Anda. Dan pada saatnya Anda akan berakhir menggunakan pola-pola itu tanpa menyadarinya, Anda hanya menghabiskan waktu untuk memikirkannya sendiri. Mengetahui pola-pola sebelumnya membuat mereka lebih mudah dikenali dalam desain dan menghasilkan keuntungan besar yang dibuktikan oleh sejumlah individu.
Segala sesuatu yang sedang dikembangkan saat ini sebagian besar didasarkan pada pengetahuan sebelumnya, tidak masuk akal untuk mengabaikannya. Bayangkan membangun gedung pencakar langit hari ini tanpa mengetahui masalah yang dihadapi oleh orang-orang yang membangun katedral beberapa ratus tahun yang lalu.
sumber
Anda akan memiliki masalah karena tidak dapat menulis perangkat lunak apa pun.
Variabel adalah pola desain.
Metode adalah pola desain.
Operator - penjumlahan, pengurangan, dll - adalah pola desain.
Pernyataan adalah pola desain.
Nilai adalah pola desain.
Referensi adalah pola desain.
Ekspresi adalah pola desain.
Kelas adalah pola desain.
...
Semua yang Anda lakukan dalam pemrograman setiap saat adalah pola desain . Sebagian besar pola itu sudah tertanam dalam pemikiran Anda sehingga Anda berhenti memikirkannya sebagai "pola desain". Hal-hal yang harus Anda pelajari seperti "pola tunggal" dan sebagainya hanyalah pola yang belum (belum) dimasukkan ke dalam bahasa apa pun yang Anda gunakan.
Tidak. Saya tidak tahu apa artinya pertanyaan ini. Pola desain yang "teknik berorientasi objek standar" - itulah yang membuat mereka merancang pola . Pola desain adalah teknik standar untuk memecahkan masalah tertentu, khususnya (meskipun tidak harus ) dalam bahasa berorientasi objek.
sumber
The things that you have to learn like "the singleton pattern" and so on are simply patterns that haven't (yet) been baked into whatever language you're using.
- Itulah (hampir) definisi pola desain - kode yang fleksibel / mudah digunakan kembali digunakan untuk mengatasi keterbatasan dalam bahasa itu sendiri, yang mudah untuk berkomunikasi dengan orang lain. Setelah bagian dari bahasa, itu bukan lagi pola desain.Memahami titik dari pola desain lebih penting daripada menggunakannya untuk surat itu. Beberapa pola, IMO, konyol, setidaknya dalam paradigma bahasa yang biasa saya gunakan. IMO, seorang programmer yang hanya menggunakan pola desain secara membabi buta dan tanpa benar-benar memahaminya adalah programmer yang lebih buruk daripada orang yang ingin memikirkan hal-hal itu sendiri. Tetapi seseorang yang membiasakan diri dengan ide-ide dan kemudian memutuskan sendiri apakah mereka berharga cenderung menjadi programmer yang jauh lebih kuat daripada keduanya.
Yang mengatakan, saya tidak punya! @ # $ Ing tahu apa gunanya kelas terbang dan saya tidak malu mengakuinya. (lihat komentar untuk entri wikipedia lain yang banyak membantu)
Saya merekomendasikan entri wikipedia tentang pola desain. Ini ditulis dengan sangat ringkas dan jelas. Sangat membantu untuk mendapatkan ide mengapa seseorang mungkin repot dengan pola desain yang diberikan atau tidak. Saya pribadi cenderung menemukan yang paling sederhana yang paling berguna dan tidak akan berpikir dua kali untuk memodifikasi implementasi pola apa pun yang sesuai dengan kebutuhan saya.
Itu ide, bukan cetak biru. Dalam beberapa bahasa mereka sama sekali bukan ide yang bagus. Di tempat lain, mereka dianggap sebagai kludges untuk mengatasi kelemahan desain bahasa yang mungkin lebih baik dikompensasi melalui kompleksitas yang kurang. Bagaimanapun, tidak ada salahnya untuk memeriksa mereka dan mencoba untuk memahami tantangan yang harus mereka atasi sebelum memutuskan solusi pilihan Anda sendiri.
Jenis masalah apa yang akan Anda hadapi? Anda mungkin kehilangan peluang dan menghabiskan lebih banyak waktu untuk masalah daripada yang Anda butuhkan kecuali Anda seorang jenius pemrograman yang sudah memiliki semuanya. Sangat penting untuk mempertahankan pandangan kritis terhadap ide-ide pemrograman populer tetapi tidak ada salahnya untuk memahami apa yang dipikirkan orang yang sedang mereka pecahkan karena itu akan memberikan lebih banyak kejelasan untuk solusi / pendekatan pilihan Anda sendiri.
sumber
Masalah utama yang akan Anda hadapi adalah Anda akan menemukan kembali roda . Mereka disebut pola karena mereka sering muncul dan dengan cara yang dapat diprediksi.
sumber
Bahkan jika Anda mengikuti pola desain Anda mungkin berakhir dengan desain yang buruk. Pola desain alami dan Anda akhirnya akan menggunakan beberapa rasa dalam desain Anda. Anda harus berusaha sangat keras untuk tidak menggunakan salah satu pola. Tidak ada alasan untuk mengutuk pola desain, yang lebih penting adalah memilih pola yang tepat untuk kebutuhan Anda
sumber
Anda menggunakan pola desain sepanjang waktu tanpa menyadarinya. Banyak perpustakaan standar dalam bahasa populer dirancang dengan pola desain dalam pikiran. Contohnya adalah
FileReader
perpustakaan Java yang dirancang menggunakan pola desain dekorator . Sekarang berbicara tentang kode Anda sendiri , Anda tidak dipaksa untuk menggunakan pola desain (dalam kebanyakan kasus). Pola desain adalah "solusi yang dapat digunakan kembali untuk masalah yang biasa terjadi" , yang berarti itu akan membantu Anda dengan menulis kode yang lebih bersih lebih bersih sehingga sangat terserah Anda berapa banyak Anda ingin menghindari berakhir dengan kode spaghetti.sumber