7 Pola Desain Perangkat Lunak Paling Penting

date 25 Aug 2021
date Fathurrahman
date 38
date Mobile App
7 Pola Desain Perangkat Lunak Paling Penting

Mengapa Pola Desain?

Pola Desain telah menjadi objek kontroversi di dunia pemrograman belakangan ini, sebagian besar karena persepsi 'penggunaan berlebihan' yang mengarah ke kode yang bisa lebih sulit untuk dipahami dan dikelola.

Penting untuk dipahami bahwa Pola Desain tidak pernah dimaksudkan untuk diretas bersama pintasan untuk diterapkan secara serampangan, 'satu ukuran untuk semua' pada kode Anda. Pada akhirnya tidak ada pengganti untuk kemampuan pemecahan masalah asli dalam rekayasa perangkat lunak.

Faktanya tetap, bagaimanapun, bahwa Pola Desain bisa sangat berguna jika digunakan dalam situasi yang tepat dan untuk alasan yang tepat. Ketika digunakan secara strategis, mereka dapat membuat programmer secara signifikan lebih efisien dengan memungkinkan mereka untuk menghindari penemuan kembali roda pepatah, alih-alih menggunakan metode yang sudah disempurnakan oleh orang lain. Mereka juga menyediakan bahasa umum yang berguna untuk mengkonseptualisasikan masalah dan solusi yang berulang saat berdiskusi dengan orang lain atau mengelola kode dalam tim yang lebih besar.

Karena itu, peringatan penting adalah untuk memastikan bahwa bagaimana dan mengapa di balik setiap pola juga dipahami oleh pengembang.

Tanpa basa-basi lagi (dalam urutan kepentingan umum , dari yang paling sedikit):

 

Pola Desain Paling Penting

1. Singleton

Pola singleton digunakan untuk membatasi pembuatan kelas hanya untuk satu objek. Ini bermanfaat ketika satu (dan hanya satu) objek diperlukan untuk mengoordinasikan tindakan di seluruh sistem. Ada beberapa contoh di mana hanya ada satu instance kelas, termasuk cache, kumpulan utas, dan registri.

Ini sepele untuk memulai objek kelas — tetapi bagaimana kita memastikan bahwa hanya satu objek yang pernah dibuat? Jawabannya adalah menjadikan konstruktor 'pribadi' untuk kelas yang ingin kita definisikan sebagai singleton. Dengan begitu, hanya anggota kelas yang dapat mengakses konstruktor pribadi dan tidak ada orang lain.

Pertimbangan penting : Dimungkinkan untuk membuat subkelas tunggal dengan membuat konstruktor terlindungi alih-alih pribadi. Ini mungkin cocok dalam beberapa keadaan. Salah satu pendekatan yang diambil dalam skenario ini adalah membuat daftar lajang dari subkelas danmetode getInstance dapat mengambil parameter atau menggunakan variabel lingkungan untuk mengembalikan lajang yang diinginkan. Registri kemudian memelihara pemetaan nama string ke objek tunggal, yang dapat diakses sesuai kebutuhan.

 

2. Factory Method

Pabrik normal memproduksi barang; sebuah pabrik perangkat lunak menghasilkan objek. Dan bukan hanya itu — ia melakukannya tanpa menentukan kelas yang tepat dari objek yang akan dibuat. Untuk mencapai ini, objek dibuat dengan memanggil metode pabrik alih-alih memanggil konstruktor.

Biasanya, pembuatan objek di Java berlangsung seperti ini:

SomeClass someClassObject = new SomeClass();

Masalah dengan pendekatan di atas adalah bahwa kode yang menggunakan objek SomeClass , tiba-tiba sekarang menjadi tergantung pada implementasi konkret SomeClass . Tidak ada yang salah dengan menggunakan new untuk membuat objek tetapi ia datang dengan beban untuk menggabungkan kode kita dengan kelas implementasi konkret, yang kadang-kadang bisa menjadi masalah.

 

3. Strategy

Pola strategi memungkinkan pengelompokan algoritme terkait di bawah abstraksi, yang memungkinkan pengalihan satu algoritme atau kebijakan ke algoritme lain tanpa memodifikasi klien. Alih-alih langsung mengimplementasikan satu algoritme, kode menerima instruksi runtime yang menentukan kelompok algoritme mana yang akan dijalankan.

 

4. Observer

Pola ini merupakan dependensi satu-ke-banyak antar objek sehingga ketika satu objek berubah status, semua dependensinya akan diberitahukan. Ini biasanya dilakukan dengan memanggil salah satu metode mereka.

Demi kesederhanaan, pikirkan tentang apa yang terjadi ketika Anda mengikuti seseorang di Twitter. Anda pada dasarnya meminta Twitter untuk mengirimi Anda ( pengamat ) pembaruan tweet dari orang ( subjek ) yang Anda ikuti. Polanya terdiri dari dua aktor, pengamat yang tertarik pada pembaruan dan subjek yang menghasilkan pembaruan.

Sebuah subjek dapat memiliki banyak pengamat dan merupakan hubungan satu ke banyak. Namun, pengamat juga bebas berlangganan pembaruan dari mata pelajaran lain. Anda dapat berlangganan umpan berita dari halaman Facebook, yang akan menjadi subjek dan setiap kali halaman memiliki posting baru, pelanggan akan melihat posting baru.

Pertimbangan utama: Dalam hal banyak subjek dan sedikit pengamat, jika setiap subjek menyimpan pengamatnya secara terpisah, itu akan meningkatkan biaya penyimpanan karena beberapa subjek akan menyimpan pengamat yang sama beberapa kali.

 

5. Builder

Sesuai dengan namanya, pola builder digunakan untuk membangun objek. Terkadang, objek yang kita buat bisa rumit, terdiri dari beberapa sub-objek atau memerlukan proses konstruksi yang rumit. Latihan membuat tipe kompleks dapat disederhanakan dengan menggunakan pola builder. Sebuah komposit atau agregat objek adalah apa yang pembangun umumnya membangun.

Pertimbangan utama: Pola builder mungkin tampak mirip dengan pola 'pabrik abstrak' tetapi satu perbedaannya adalah pola builder membuat objek langkah demi langkah sedangkan pola pabrik abstrak mengembalikan objek sekaligus.

 

6. Adapter

Hal ini memungkinkan kelas yang tidak kompatibel untuk bekerja sama dengan mengubah antarmuka satu kelas ke kelas lain. Anggap saja sebagai semacam penerjemah: ketika dua kepala negara yang tidak berbicara bahasa yang sama bertemu, biasanya seorang penerjemah duduk di antara keduanya dan menerjemahkan percakapan, sehingga memungkinkan komunikasi.

Jika Anda memiliki dua aplikasi, dengan satu mengeluarkan output sebagai XML dengan yang lain membutuhkan input JSON, maka Anda memerlukan adaptor di antara keduanya untuk membuatnya bekerja dengan mulus.

 

7. State

Pola keadaan merangkum berbagai keadaan mesin, dan memungkinkan suatu objek untuk mengubah perilakunya ketika keadaan internalnya berubah. Mesin atau konteks , seperti yang disebut dalam pola-bicara, dapat memiliki tindakan yang diambil di atasnya yang mendorongnya ke keadaan yang berbeda. Tanpa penggunaan pola, kode menjadi tidak fleksibel dan dipenuhi dengan persyaratan if-else.

fathur.png

Fathurrahman

Android Mobile

Hallo saya trainer Android Mobile di Mataweb dan saya sudah berpengalaman lebih dari 5 tahun. jadi kali ini saya akan share tutorial ataupun tips seputar mobile aplikasi. Salam kenal

Artikel Terkait

Halo, ada yang bisa kami bantu?