Apa Yang Dimaksud Dengan Arti DDD Challenge? Ini Penjelasan Dan Kebalikannya!

jsmalfamart.com Banyak yang bertanya di berbagai media sosial Apa Yang Dimaksud Dengan Arti DDD Challenge? Ini Penjelasan Dan Kebalikannya! Simak sampai akhir pembahasan yang akan kami sajikan pada kesempatan kali ini agar kalian tidak ketinggalan informasi yang akan kami bagikan kali ini.

Lalu, apa itu DDD Challenge atau tantangan DDD? Apa benar dari kebalikan DDD Challenge? Dan Bagai mana sejarahnya? Berkut dibawah ini penjelasannya.

DDD Challenge adalah singkatan dari istilah Destory Dick December Challenge. Dari secara harfiah, DDD adalah merupakan bahasa inggris yang berarti (Menghancurkan Penis di Bulan Desember).

Dilasir dari Dictionary, DDD Challenge adalah merupakan candaan dari beberapa warganet didalam menangani NNN Challenge (No Nut November). NNN Challenge adalah merupakan tantangan untuk tidak mastrubasi selama bulan November.

Dari tantangan DDD Challenge itu adalah kebalikan dari NNN, dan jika NNN Challenge menantang untuk tidak mengmanstrubasi sama sekali, DDD Challenge kini malah menantang untuk dapat melakukannya pada setiap hari selama berada di bulan Desember.

Selain dsari DDD Challenge, kalian juga perlu mengetahui apa yang dimaksud dengan penjelasan DDD Challenge tersebut. Nah dibawah ini ada beberapa pengertian yang perlu kalian ketahui didalamnya. Berikut penjelasannya.

Apa Yang Dimaksud Dengan Arti DDD Challenge? Ini Penjelasan Dan Kebalikannya!

Domain-driven design (DDD) adalah pendekatan desain perangkat lunak [1] yang berfokus pada pemodelan perangkat lunak untuk mencocokkan domain menurut masukan dari pakar domain tersebut.

Salah satu konsepnya adalah bahwa struktur dan bahasa kode perangkat lunak (nama kelas, metode kelas, variabel kelas) harus sesuai dengan domain bisnis. Misalnya, jika perangkat lunak memproses aplikasi pinjaman, mungkin memiliki kelas seperti Aplikasi Pinjaman dan Pelanggan, dan metode seperti AcceptOffer dan Withdraw.

DDD Menghubungkan Implementasi Ke Model Yang Berkembang

Desain berbasis domain didasarkan pada tujuan berikut: Memulai kolaborasi kreatif antara pakar teknis dan domain untuk secara berulang menyempurnakan model konseptual yang membahas masalah domain tertentu.

Kritik terhadap desain berbasis domain berpendapat bahwa pengembang biasanya harus menerapkan banyak isolasi dan enkapsulasi untuk mempertahankan model sebagai konstruksi yang murni dan bermanfaat.

Sementara desain berbasis domain memberikan manfaat seperti pemeliharaan, Microsoft merekomendasikannya hanya untuk domain kompleks di mana model memberikan manfaat yang jelas dalam merumuskan pemahaman umum tentang domain.

Baca Juga : Baca Novel Charlie Wade 3859

Yang paling penting adalah domain, area subjek di mana pengguna menerapkan program adalah domain perangkat lunak. Domain perangkat lunak mengatur konteksnya, pengaturan di mana kata atau pernyataan muncul yang menentukan artinya.

Dari sini, pengembang membangun model domain: sistem abstraksi yang menggambarkan aspek yang dipilih dari domain dan dapat digunakan untuk memecahkan masalah yang terkait dengan domain tersebut.

Aspek-aspek desain berbasis domain ini bertujuan untuk mendorong bahasa yang ada di mana-mana, yang berarti bahwa model domain harus membentuk bahasa umum yang digunakan bersama oleh pakar domain untuk menjelaskan persyaratan sistem, pengguna bisnis, sponsor, dan pengembang.

Dalam desain berbasis domain, lapisan domain adalah salah satu lapisan umum dalam arsitektur berlapis-lapis berorientasi objek.

Macam-Macam Model

Desain berbasis domain mengenali berbagai jenis model. Misalnya, entitas adalah objek yang tidak ditentukan oleh atributnya, tetapi identitasnya. Sebagai contoh, sebagian besar maskapai penerbangan menetapkan nomor unik untuk kursi di setiap penerbangan.

Sebaliknya, objek nilai adalah objek yang tidak dapat diubah yang berisi atribut tetapi tidak memiliki identitas konseptual. Ketika orang bertukar kartu nama, misalnya, mereka hanya peduli dengan informasi pada kartu (atributnya) daripada mencoba membedakan setiap kartu yang unik.

Baca Juga : Sinopsis Film Hunter Killer 2018 Terbaru

Model dapat diikat bersama oleh entitas root untuk menjadi agregat. Objek di luar agregat diizinkan untuk menyimpan referensi ke root tetapi tidak ke objek agregat lainnya. Akar agregat memeriksa konsistensi perubahan dalam agregat.

Pengemudi tidak harus mengendalikan setiap roda mobil secara individual, misalnya: mereka hanya mengemudikan mobil. Dalam konteks ini, mobil adalah kumpulan dari beberapa objek lain (mesin, rem, lampu depan, dan lain-lain.

Bekerja Dengan Mode

Dalam desain berbasis domain, pembuatan objek sering kali dipisahkan dari objek itu sendiri. Repositori, misalnya, adalah objek dengan metode untuk mengambil objek domain dari penyimpanan data (misalnya database).

Demikian pula, pabrik adalah objek dengan metode untuk membuat objek domain secara langsung. Ketika bagian dari fungsionalitas program secara konseptual tidak dimiliki oleh objek apa pun, biasanya diekspresikan sebagai layanan.

Hubungan Dengan Ide Lain

Meskipun desain berbasis domain tidak terikat secara inheren dengan pendekatan berorientasi objek, dalam praktiknya, ia memanfaatkan keunggulan teknik tersebut. Ini termasuk entitas/akar agregat sebagai penerima perintah/pemanggilan metode, enkapsulasi keadaan dalam akar agregat terdepan, dan pada tingkat arsitektur yang lebih tinggi, konteks terbatas.

Akibatnya, desain berbasis domain sering dikaitkan dengan Objek Java Lama Biasa dan Objek CLR Lama Biasa. Sementara detail implementasi teknis teknis, khusus untuk Java dan .NET Framework masing-masing, istilah ini mencerminkan pandangan yang berkembang bahwa objek domain harus didefinisikan murni oleh perilaku bisnis domain, bukan oleh kerangka teknologi yang lebih spesifik.

Demikian pula, pola objek telanjang menyatakan bahwa antarmuka pengguna dapat dengan mudah menjadi cerminan dari model domain yang cukup baik. Memerlukan antarmuka pengguna untuk menjadi cerminan langsung dari model domain akan memaksa desain model domain yang lebih baik.

Baca Juga : Siapa Nama Panjang Iben TikTok? Simak Profil Lengkapnya

Pemodelan khusus domain, misalnya, adalah desain berbasis domain yang diterapkan dengan bahasa khusus domain. Desain berbasis domain tidak secara khusus memerlukan penggunaan bahasa khusus domain, meskipun mungkin saja

Pada gilirannya, pemrograman berorientasi aspek memudahkan untuk memfaktorkan masalah teknis (seperti keamanan, manajemen transaksi, logging) dari model domain, membiarkan mereka fokus murni pada logika bisnis.

Rekayasa Dan Arsitektur Yang Digerakkan Oleh Model

Sementara desain berbasis domain kompatibel dengan rekayasa dan arsitektur berbasis model, maksud di balik kedua konsep tersebut berbeda. Arsitektur model-driven lebih peduli dengan menerjemahkan model ke dalam kode untuk platform teknologi yang berbeda daripada mendefinisikan model domain yang lebih baik.

Namun, teknik yang disediakan oleh rekayasa berbasis model (untuk memodelkan domain, untuk membuat bahasa khusus domain untuk memfasilitasi komunikasi antara pakar domain dan pengemban, memfasilitasi desain berbasis domain dalam praktik dan membantu praktisi mendapatkan lebih banyak dari mereka model.

Berkat transformasi model rekayasa model dan teknik pembuatan kode, model domain dapat digunakan untuk menghasilkan sistem perangkat lunak aktual yang akan mengelolanya.

Pemisahan Tanggung Jawab Permintaan Perintah

Command Query Responsibility Segregation (CQRS) adalah pola arsitektur untuk memisahkan membaca data (‘query’) dari menulis ke data (‘command’). CQRS berasal dari Command and Query Separation (CQS), yang diciptakan oleh Bertrand Meyer.

Perintah mengubah status dan kira-kira setara dengan pemanggilan metode pada akar atau entitas agregat. Kueri membaca status tetapi tidak mengubahnya.

Baca Juga : 6 Ide Bisnis Untuk Kota Kecil Daerah Pedesaan Terbaik 2021

Meskipun CQRS tidak memerlukan desain berbasis domain, CQRS membuat perbedaan antara perintah dan kueri secara eksplisit dengan konsep akar agregat. Idenya adalah bahwa akar agregat yang diberikan memiliki metode yang sesuai dengan perintah dan pengendali perintah memanggil metode pada akar agregat.

Akar agregat bertanggung jawab untuk melakukan logika operasi dan menghasilkan sejumlah peristiwa, respons kegagalan, atau hanya mengubah statusnya sendiri yang dapat ditulis ke penyimpanan data. Pengendali perintah menarik perhatian infrastruktur yang terkait dengan menyimpan status root agregat dan membuat konteks yang diperlukan (misalnya, transaksi).

Sumber Acara

Sumber acara adalah pola arsitektur di mana entitas tidak melacak keadaan internal mereka dengan cara serialisasi langsung atau pemetaan relasional objek, tetapi dengan membaca dan melakukan peristiwa ke toko acara.

Saat sumber peristiwa digabungkan dengan CQRS dan desain berbasis domain, akar agregat bertanggung jawab untuk memvalidasi dan menerapkan perintah (seringkali dengan meminta metode instansnya dipanggil dari Pengendali Perintah), dan kemudian menerbitkan peristiwa.

Ini juga merupakan fondasi di mana akar agregat mendasarkan logika mereka untuk menangani pemanggilan metode. Oleh karena itu, inputnya adalah perintah dan outputnya adalah satu atau banyak event yang disimpan ke event store, dan kemudian sering dipublikasikan pada broker pesan bagi mereka yang tertarik (seperti tampilan aplikasi).

Baca Juga : Alur Cerita My In-Laws Are Obsessed With Me Novel Bab 1

Memodelkan akar agregat ke peristiwa keluaran dapat mengisolasi keadaan internal lebih jauh daripada saat memproyeksikan data-baca dari entitas, seperti dalam arsitektur penerusan data n-tier standar. Satu manfaat yang signifikan adalah bahwa pembuktian teorema aksiomatik (misalnya Microsoft Contracts dan CHESS.

Lebih mudah diterapkan, karena akar agregat secara komprehensif menyembunyikan keadaan internalnya. Peristiwa sering bertahan berdasarkan versi contoh akar agregat, yang menghasilkan model domain yang menyinkronkan dalam sistem terdistribusi melalui konkurensi optimis.

Alat Terkenal

Actifsource, plug-in untuk Eclipse yang memungkinkan pengembangan perangkat lunak yang menggabungkan DDD dengan rekayasa model-driven dan pembuatan kode.

CubicWeb, kerangka kerja web semantik open source yang sepenuhnya didorong oleh model data. Arahan tingkat tinggi memungkinkan untuk memperbaiki model data secara iteratif, rilis demi rilis.

Mendefinisikan model data sudah cukup untuk mendapatkan aplikasi web yang berfungsi. Pekerjaan lebih lanjut diperlukan untuk menentukan bagaimana data ditampilkan ketika tampilan default tidak mencukupi.

Baca Juga : 4 Pasar / Industri Terbesar Di Dunia

OpenMDX, open-source, berbasis Java, MDA Framework yang mendukung Java SE, Java EE, dan NET. OpenMDX berbeda dari kerangka kerja MDA biasa dalam hal “menggunakan model untuk secara langsung mendorong perilaku runtime sistem operasional.

Restful Objects, standar untuk memetakan Restful API ke model objek domain (di mana objek domain dapat mewakili entitas, model tampilan, atau layanan). Dua kerangka kerja open source (satu untuk Java, satu untuk .NET) dapat membuat Restful Objects API dari model domain secara otomatis, menggunakan refleksi.

Kesimpulan

Nah, dari awal pembahasan sampai akhir pembahasan yang telah kami sajikan kali ini, semoga kalian dapat memahami apa yang dimaksud dari perkataan yang telah kami sajikan kali ini. Semoga dengan adantya artikel singkat ini dapat mengurangi rasa penasaran kalian bagi masih ada yang bertanya akan hal seperti ini.

Penutup Kata

Demikian ulasan yang dapat kami sajikan didalah artikel kali ini mengenai Apa Yang Dimaksud Dengan Arti DDD Challenge? Ini Penjelasan Dan Kebalikannya! Terimakasih telah menyimak pembahasan kami kali ini sampai akhir dan tetap ikuti terus web artikek kami di jsmalfamart.com yang selalu setia dengan memberikankalian semua berbagai informasi dan pastinya selalu update setiap hari.

Sekian dan terimakasih.

Gallery for Apa Yang Dimaksud Dengan Arti DDD Challenge? Ini Penjelasan Dan Kebalikannya!

Leave a Reply

Your email address will not be published.