Design Patterns [Halo Dunia! SourceMaking]

chmood
Halo Dunia! 
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

Memisahkan konstruksi objek dari perwakilannya
Menciptakan sebuah instance dari beberapa kelas yang diturunkan

Hindari akuisisi mahal dan pelepasan sumber daya dengan daur ulang objek yang tidak lagi
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 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.

Interface pertandingan kelas yang berbeda

Memisahkan antarmuka obyek dari pelaksanaannya

Sebuah struktur pohon obyek sederhana dan komposit

Tambahkan tanggung jawab untuk objek dinamis

Sebuah kelas tunggal yang mewakili seluruh subsistem

Sebuah contoh halus digunakan untuk berbagi efisien

Membatasi accessor / akses mutator

Sebuah benda yang mewakili obyek lain



Pola desain perilaku




   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

Berurutan mengakses elemen koleksi

Mendefinisikan komunikasi disederhanakan antara kelas

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.

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).



Komentar