Design Patterns [Halo Dunia! SourceMaking]
Oleh
chmood
and hallo Family Programing T.I Sniper kami anak bangsa.!!
Aku SourceMaking. Saya akan memberitahu Anda banyak cerita
tentang arsitektur perangkat lunak yang baik dan mengajarkan cara untuk membuat
dengan pola desain. Saya akan memandu Anda melalui anti-pola, perangkap umum
dan kesalahan yang dilakukan orang ketika mereka berencana, membuat, dan
mengelola proyek perangkat lunak. Pada akhirnya, saya akan mengajarkan Anda
bagaimana untuk mencium kode buruk dan memperbaikinya dengan refactoring.
Kita bisa mulai dari awal atau Anda dapat memilih topik yang
menarik di bawah ini.
Pola desain
Dalam rekayasa perangkat lunak, pola desain adalah solusi
berulang umum untuk masalah yang umum terjadi dalam desain perangkat lunak.
Sebuah pola desain bukan desain jadi yang dapat diubah secara langsung ke kode.
Ini adalah deskripsi atau template untuk bagaimana memecahkan masalah yang
dapat digunakan dalam berbagai situasi.
Penggunaan Pola Desain
Pola desain dapat mempercepat proses pembangunan dengan menyediakan diuji, paradigma pembangunan terbukti. Desain perangkat lunak yang efektif memerlukan mempertimbangkan isu-isu yang mungkin tidak menjadi terlihat sampai nanti dalam pelaksanaannya. Menggunakan kembali pola desain membantu untuk mencegah masalah halus yang dapat menyebabkan masalah besar dan meningkatkan pembacaan kode untuk coders dan arsitek akrab dengan pola.
Sering kali, orang hanya mengerti bagaimana menerapkan
teknik desain software tertentu untuk masalah tertentu. Teknik ini sulit untuk
diterapkan untuk lebih luas masalah. Pola desain memberikan solusi umum,
didokumentasikan dalam format yang tidak memerlukan spesifik terkait dengan
masalah tertentu.
Selain itu, pola memungkinkan pengembang untuk berkomunikasi
menggunakan terkenal, nama dipahami dengan baik untuk interaksi perangkat
lunak. Pola desain umum dapat ditingkatkan dari waktu ke waktu, membuat mereka
lebih kuat dari desain ad-hoc.
Pola desain penciptaan
Pola desain ini semua tentang kelas Instansiasi. Pola ini dapat dibagi lagi menjadi pola kelas penciptaan dan pola objek-penciptaan. Sementara pola kelas penciptaan menggunakan warisan efektif dalam proses Instansiasi, pola objek-penciptaan menggunakan delegasi efektif untuk mendapatkan pekerjaan yang dilakukan.
Contoh Abstrak Pabrik
Menciptakan sebuah instance dari beberapa keluarga kelas
Menciptakan sebuah instance dari beberapa kelas yang
diturunkan
digunakan
Sebuah contoh sepenuhnya diinisialisasi untuk disalin atau
kloning
Sebuah kelas yang hanya satu contoh bisa eksis
Pola desain struktural
Pola desain ini semua tentang kelas dan komposisi Obyek.
Pola kelas penciptaan struktur menggunakan warisan untuk menulis interface.
Struktural objek-pola menentukan cara untuk menulis objek untuk mendapatkan
fungsi baru.
Pola desain ini semua tentang kelas dan komposisi Obyek.
Pola kelas penciptaan struktur menggunakan warisan untuk menulis interface.
Struktural objek-pola menentukan cara untuk menulis objek untuk mendapatkan
fungsi baru.
Interface pertandingan kelas yang berbeda
Memisahkan antarmuka obyek dari pelaksanaannya
Sebuah struktur pohon obyek sederhana dan komposit
Tambahkan tanggung jawab untuk objek dinamis
Sebuah contoh halus digunakan untuk berbagi efisien
Membatasi accessor / akses mutator
Pola desain ini adalah semua tentang Class objek komunikasi.
Pola perilaku adalah mereka pola yang paling khusus berkaitan dengan komunikasi
antara objek
Cara melewati permintaan antara rantai benda
Merangkum permintaan perintah sebagai obyek
Sebuah cara untuk memasukkan unsur-unsur bahasa dalam sebuah
program
Menangkap dan mengembalikan keadaan internal obyek
Dirancang untuk bertindak sebagai nilai default dari sebuah
objek
Sebuah cara memberitahukan perubahan ke sejumlah kelas
Mengubah perilaku obyek ketika perubahan keadaan
Merangkum sebuah algoritma dalam kelas
Menunda langkah yang tepat dari sebuah algoritma untuk
subclass
Mendefinisikan operasi baru untuk kelas tanpa perubahan
Kritik
Konsep pola desain telah dikritik oleh beberapa di bidang ilmu komputer.
Menargetkan masalah yang salah
Kebutuhan pola hasil dari menggunakan bahasa komputer atau teknik dengan kemampuan abstraksi cukup. Di bawah anjak ideal, konsep tidak boleh disalin, tetapi hanya direferensikan. Tetapi jika ada sesuatu yang direferensikan bukan disalin, maka tidak ada "pola" untuk label dan katalog. Paul Graham menulis di Dendam esai dari Nerds.
Kebutuhan pola hasil dari menggunakan bahasa komputer atau teknik dengan kemampuan abstraksi cukup. Di bawah anjak ideal, konsep tidak boleh disalin, tetapi hanya direferensikan. Tetapi jika ada sesuatu yang direferensikan bukan disalin, maka tidak ada "pola" untuk label dan katalog. Paul Graham menulis di Dendam esai dari Nerds.
Peter Norvig memberikan argumen yang sama. Dia menunjukkan
bahwa 16 dari 23 pola dalam buku Pola Desain (yang terutama difokuskan pada C
++) disederhanakan atau dihilangkan (melalui dukungan bahasa langsung) dalam
Lips atau Dylan.
Tidak memiliki dasar-dasar resmi Studi tentang pola desain telah berlebihan ad hoc, dan
bahkan ada yang berpendapat bahwa konsep tersebut sangat perlu dimasukkan pada
pijakan yang lebih formal. Pada OOPSLA 1999, Gang of Four adalah (dengan kerja
sama mereka penuh) mengalami percobaan menunjukkan, di mana mereka
"dibebankan" dengan berbagai kejahatan terhadap ilmu komputer. Mereka
"dihukum" oleh ⅔ dari "juri" yang menghadiri persidangan.
Mengarah ke solusi efisien
Ide pola desain merupakan upaya untuk membakukan apa yang
sudah diterima praktik terbaik. Dalam prinsip ini mungkin tampak menguntungkan,
namun dalam prakteknya sering mengakibatkan duplikasi yang tidak perlu kode.
Hal ini hampir selalu solusi yang lebih efisien untuk menggunakan implementasi
baik-faktor daripada "cukup hanya nyaris baik" pola desain.
Tidak berbeda secara signifikan dari abstraksi lainnya
Beberapa penulis menyatakan bahwa pola-pola desain tidak
berbeda secara signifikan dari bentuk-bentuk abstraksi, dan bahwa penggunaan
terminologi baru (dipinjam dari komunitas arsitektur) untuk menggambarkan
fenomena yang ada dalam bidang pemrograman tidak diperlukan.
Model-View-Controller paradigma yang disebut-sebut sebagai contoh dari
"pola" yang mendahului konsep "pola desain" oleh beberapa
tahun. Hal ini lebih jauh berpendapat oleh beberapa bahwa kontribusi utama dari
masyarakat Pola Desain (dan Gang of Four buku) adalah penggunaan Alexander pola
bahasa sebagai bentuk dokumentasi; praktek yang sering diabaikan dalam
literatur.
Antipatterns: The Survival Guide
Baca selanjutnya
Artikel ini diambil dari Pola Desain buku kami Dijelaskan
Cukup.
Semua pola desain dikompilasi ada. Buku ini ditulis dengan
jelas, bahasa yang sederhana yang membuatnya mudah untuk membaca dan memahami
(seperti artikel ini).
Category
Komentar