JavaRush /Java Blog /Random-ID /Resensi buku “Pola Desain Kepala Pertama”
Alex
Level 37

Resensi buku “Pola Desain Kepala Pertama”

Dipublikasikan di grup Random-ID
Di antara orang-orang yang setidaknya sedikit mengenal seri Head First, banyak yang menganggap literatur semacam itu sebagai bacaan dangkal untuk pemula. Apa yang bisa saya katakan, kecil kemungkinan Anda akan dapat mempelajari topik kompleks di bidang pemrograman secara mendalam dalam 48 jam. Namun, sulit untuk membantah bahwa Design Patterns adalah buku yang akan menjadi panduan pemrograman yang berguna bagi pemula. Buku ini adalah salah satu dari sepuluh buku terpopuler di Stackoverflow, dan untuk alasan yang bagus. Kemudahan penyajian, topik mendasar, dan contoh-contoh berkualitas tinggi membuat buku ini populer saat ini dan, menurut saya, selama bertahun-tahun yang akan datang. Review buku “Head First Design Patterns” - 1

Fitur buku

Pola desain head first memberi tahu kita apa itu pola, cara menggunakannya, dan cara memikirkannya. Pola adalah templat, solusi universal untuk serangkaian masalah tertentu. Pola desain , pada gilirannya, merupakan solusi arsitektur yang umum digunakan yang dapat digunakan untuk menulis aplikasi yang ramah pengguna dan fleksibel. Pengembang di seluruh dunia memecahkan masalah yang sama dengan pendekatan yang sama. Seperti yang tertulis dalam anotasi, jika Anda tidak ingin menemukan kembali roda, gunakan templat (pola) desain yang sudah jadi, yang khusus digunakan dalam buku ini . Secara terpisah, perlu diperhatikan penyajian materinya: buku-buku seri Head First terkenal dengan kesederhanaannya dan dibaca sekaligus. “Pola Desain” tidak terkecuali. Ini juga menganut prinsip-prinsip utama berikut:
  1. Visibilitas
  2. Gaya presentasi percakapan
  3. Sejumlah besar ilustrasi
  4. Partisipasi aktif pembaca
  5. Menarik emosi
  6. Menarik perhatian pembaca
Penulis buku ini dengan kompeten menggunakan teori metakognisi untuk menyajikan materi: bagi saya, 100 halaman pertama berlalu begitu saja tanpa disadari. Keunggulan dari pendekatan ini adalah otak benar-benar mengingat apa yang dibacanya. Kombinasi beberapa gaya naratif, pertanyaan menarik, redundansi, dan kreativitas - semua ini membantu pembaca untuk tidak kehilangan minat pada topik utama. Sebelum membeli buku tersebut, saya ragu-ragu setelah membaca ulasan yang beragam. Namun, setelah membaca sekilas beberapa sumber lain tentang topik ini, saya memutuskan: untuk mendalami pola, buku inilah yang Anda butuhkan.

Tema utama dan gagasan utama

“Tentunya seseorang telah memecahkan masalah Anda” - begitulah bab pertama buku ini dimulai, yang menyampaikan seluruh makna pola desain dalam pemrograman. Tujuan utamanya adalah menyampaikan maknanya dengan benar kepada pembaca, karena pertama-tama, pemrogram harus mengetahui untuk apa pola-pola itu dan pada titik mana pola-pola itu perlu diterapkan. Pada dasarnya, pertama-tama Anda perlu mengurutkan template menjadi potongan-potongan kecil di kepala Anda, dan baru setelah itu mengimplementasikannya ke dalam program. Jika seorang pemula dalam pemrograman memiliki pemahaman yang baik tentang pola, penggunaannya bisa sangat memperumit kode (tetapi harus menyederhanakannya!). Untuk pertanyaan “Mengapa pola desain harus digunakan?” Buku tersebut memberikan jawaban yang jelas: “Mengetahui konsep seperti abstraksi, pewarisan, dan polimorfisme tidak menjadikan Anda seorang desainer OO yang baik. Polanya mengandung pengalaman desain OO yang telah terbukti.”

"Ringkasan"

Buku ini dibagi menjadi 14 bab ditambah pendahuluan. Pada awalnya, penulis buku mencoba mempersiapkan pembaca, menyetel otaknya agar dapat memahami informasi tentang desain pola dengan benar. Bab pertama menjelaskan prinsip dasar pola dan tujuannya. Salah satu pola yang paling banyak digunakan - strategi - diperiksa dengan mudah dan tidak mencolok. Bab dua sampai sebelas dikhususkan untuk analisis rinci pola individu :
  1. Pengamat. Mendistribusikan peristiwa ke seluruh objek yang tertarik dengan kejadiannya.
  2. Penghias. Pandangan lain tentang pewarisan di Java dan memberikan kemampuan baru pada kelas Java tanpa mengubah kode.
  3. Pabrik. Pola ini menyimpan kode dari ketergantungan yang tidak diinginkan.
  4. Lajang. Juga dikenal sebagai Singleton, ini memungkinkan Anda membuat objek kelas tunggal untuk keseluruhan program.
  5. Tim. Pola ini memungkinkan Anda merangkum pemanggilan metode dengan mudah, memperluas kemampuannya.
  6. Adaptor dan Fasad. Memecahkan masalah ketidakcocokan antarmuka, serta mengemas objek untuk menyederhanakan antarmukanya.
  7. Metode templat. Enkapsulasi blok algoritmik, memungkinkan subkelas untuk dikaitkan dengan algoritma pemrosesan yang diinginkan kapan saja.
  8. Iterator dan Linker. Pola ini menyediakan alat yang mudah digunakan untuk melakukan iterasi melalui koleksi, apa pun jenisnya. Selain itu, bab ini memberikan beberapa informasi tentang superkoleksi.
  9. Negara. Objek diberkahi dengan kemampuan untuk mengendalikan perilakunya melalui perubahan keadaan internalnya.
  10. Wakil. Pola yang sangat nyaman untuk mengontrol akses ke suatu objek.
Bab 12 membahas pola gabungan, atau lebih tepatnya kombinasi dari beberapa pola yang dibahas, yang dapat digunakan untuk membangun arsitektur perangkat lunak yang kuat. Bab 13 dikhususkan untuk penggunaan pola dalam masalah nyata, disajikan klasifikasi pola, ragamnya dan pedoman penggunaannya. Buku ini berfungsi sebagai lampiran pada Bab 14, yang mencakup pola yang lebih luas. Masing-masing dari mereka berguna dengan caranya sendiri, jadi mengetahuinya lebih dari yang diinginkan. Tentu saja, pola tersebut tidak sepopuler pola dari bab 2-11, namun hal ini tidak mengurangi kegunaannya. Buku ini tidak berpura-pura menjadi presentasi teori pola yang akurat secara akademis. Namun jika buku Head First sangat teliti, calon pengembang tidak akan memiliki kesempatan untuk mencari tahu apa itu dan memperjelas dasar-dasarnya sendiri. Ini adalah cara sederhana dan nyaman untuk mempelajari pola desain bagi mereka yang belum mengenalnya. Menurut penulisnya, Design Patterns adalah buku yang cocok bagi mereka yang sudah familiar dengan Java (atau C#), ingin mempelajari prinsip-prinsip desain berorientasi objek, dan lebih menyukai percakapan yang hidup daripada kuliah yang membosankan. Buku ini bukan buku referensi! Jika Anda seorang pengembang profesional dengan pengalaman dan bekerja dengan setidaknya sebagian dari pola-pola ini, buku ini mungkin tidak menarik bagi Anda. Komponen penting dari buku ini adalah latihannya: Anda tidak boleh melewatkannya. Jika Anda membaca buku dengan cermat dan, dalam kasus ekstrim, melakukan pencarian minimal di Internet, menyelesaikannya tidak akan menambah sakit kepala Anda. Tapi pasti ada manfaatnya. Setidaknya, Anda akan memahami lebih dalam teori yang disajikan dalam buku tersebut.

Keuntungan dan kerugian

Saya, seperti banyak dari mereka yang belajar di JavaRush, memiliki sikap dingin terhadap perkuliahan yang membosankan, materi yang menjejalkan, dan kekerasan lainnya terhadap jiwa mahasiswa yang haus akan ilmu pengetahuan. Tenaga yang dihabiskan untuk menghafal teks-teks yang tidak dapat dipahami, menurut saya, paling baik digunakan untuk mencari sumber belajar alternatif. Buku ini adalah buku yang sepadan dengan waktu dan usaha Anda. Gaya presentasi yang sangat baik, pengelolaan perhatian pembaca yang kompeten, dan pengulangan poin-poin penting menjadi keunggulan utama buku ini - kemudahan asimilasi materi . Banyaknya ilustrasi menjadi nilai tambah. Menurut pendapat saya, setiap gambar dalam buku ini memiliki tempatnya masing-masing: semuanya memungkinkan Anda untuk memperkuat kata-kata penulisnya dan mendapatkan pemahaman yang lebih dalam tentang esensi materi. Seperti yang saya tulis di atas, buku ini bukanlah buku referensi: penulisnya tidak bermaksud mencantumkan semua polanya. Tugas utamanya adalah memberikan pemahaman dan membicarakan pola-pola dasar sehingga pola-pola lain yang lebih kompleks lebih mudah dipahami. Dan dia mengatasinya 100%. Di antara kekurangannya adalah pola desain Head first dalam bahasa Rusia tidak mudah dibaca seperti dalam bahasa Inggris. Tentu saja, setiap pengembang harus berbicara bahasa Inggris, tetapi programmer pemula tidak selalu mengembangkan keterampilan ini sedemikian rupa sehingga mereka dapat membaca buku dalam bahasa aslinya. Namun hal ini bisa dianggap sebagai kekurangan yang dipaksakan, karena materi yang disajikan cukup akurat dan maknanya tetap terjaga.

Buku tambahan tentang pola desain

Saya pendukung keyakinan bahwa lebih baik mempelajari topik-topik mendasar dari beberapa sumber dan mencari gaya presentasi yang sesuai di dalamnya. Bila Anda ingin menyelami pola dan membaca teori tambahan, percayalah, Anda akan memiliki sesuatu untuk mengisi malam Anda.
  1. Teknik desain berorientasi objek. Pola Desain (Gamma E., Helm R., Johnson R., Vlissides J.).

    Review buku “Design Patterns” (Head First Design Patterns) - 2

    Ini adalah publikasi yang lebih serius, buku referensi pola, buku yang sangat dihormati dari “Gang of Four”. Banyak yang menyebutnya sebagai kitab suci desain OO.

    Di Internet, pendapat pengembang dibagi menjadi 3 kubu:

    • ada yang berpendapat bahwa buku tersebut sudah ketinggalan zaman dan gaya penyajiannya membuat tidak mungkin untuk dibaca
    • yang lain merekomendasikan penggunaan buku ini hanya sebagai buku referensi tentang pola, tidak lebih
    • yang lain lagi mengatakan bahwa buku ini adalah cawan suci pola desain dan harus dibaca oleh siapa saja yang ingin suatu hari menjadi Pengembang Java Senior
    Saya penganut kelompok kedua: Menurut saya buku itu benar-benar layak, tetapi membacanya untuk pengembangan, dan bukan untuk tujuan mencari informasi, sangat sulit.

    Penting:Contoh-contoh dalam buku ini ditulis dalam C++.

  2. Jawa EE. Pola desain untuk para profesional (Murat Yener, Alex Fidom).

    Review buku “Design Patterns” (Head First Design Patterns) - 3

    Buku ini didedikasikan untuk desain aplikasi Perusahaan: buku ini mencakup banyak contoh masalah aplikasi kehidupan nyata.

  3. Pola desain di Jawa (Grand M.).

    Review buku “Design Patterns” (Head First Design Patterns) - 4

    Buku ini dengan penuh warna menunjukkan bagaimana penggunaan pola menghemat waktu pengembang, memberikan gambaran umum bahasa UML, dan menjelaskan 47 pola desain.

Pola Desain di JavaRush

Dalam kursus JavaRush, pola desain dipelajari pada level 7 dari pencarian Java Collections. Kuliah 1 dan 2 dikhususkan untuk pola yang paling umum, dan di Kuliah 4 Anda dapat memecahkan masalah tentang topik ini. Di bawah ini beberapa artikel menarik untuk “memperkuat diri”:
  1. Artikel umum tentang topik pola dengan kategori, contoh, semua yang kami suka.

  2. Dua artikel tentang pola: ikhtisar bagian 1 dan bagian 2 yang lebih detail .

  3. Desain pola menggunakan pola Singleton sebagai contoh .

  4. Artikel tentang pola “ Strategi ” dan “ Adaptor ”.

  5. Konsep pola desain berkaitan dengan diagram UML, artikel ini akan membantu Anda memahami apa itu diagram.

Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION