Skip to main content

Apa itu desain dengan kontrak reg;?

Desain dengan kontrak reg;adalah metode yang digunakan untuk mengembangkan perangkat lunak yang bergantung pada pembentukan parameter antarmuka yang terdefinisi dengan baik, atau kontrak, untuk semua bagian program.Meskipun desain oleh kontrak reg;Dapat dilihat sebagai gaya pengembangan konseptual yang diimplementasikan melalui dokumentasi atau pemodelan, itu lebih banyak digunakan untuk merujuk pada mekanisme pihak asli atau ketiga dalam beberapa bahasa pemrograman yang sebenarnya membutuhkan pengkodean implisit kontrak dalam suatu program.Tujuan dalam menggunakan desain dengan kontrak reg;adalah bahwa suatu program akan dikembangkan dan, pada akhirnya, diberi kode dengan cara yang jauh lebih lengkap yang menghilangkan kesalahan yang lebih sepele, sementara penegakan kontrak oleh bahasa pendukung membuat kesalahan residu dengan mudah ditemukan dan ditangkap.Suatu program yang menggunakan kontrak untuk fungsi dan kelas dapat memiliki desain yang lebih modular di mana kelas individu dapat digunakan kembali dengan mudah dalam program lain karena definisi yang jelas dari kontrak mereka.

Dasar untuk desain dengan kontrak reg;Filsafat pemrograman adalah gagasan kontrak bisnis dunia nyata.Dalam model ini, setiap metode dan kelas dalam program yang berorientasi objek mendefinisikan kontrak yang dengannya metode atau objek lain yang berinteraksi dengannya harus mematuhi.Setiap kelas juga dapat memiliki kontrak, yang disebut kelas invarian, yang harus diikuti secara internal untuk memastikan bahwa kontrak luar tidak membahayakan kemampuannya untuk berfungsi.

Dua bagian dari kontrak yang paling penting selama desain dan pengkodean adalah prasyarat prasyaratdan pasca-kondisi.Dua bagian desain dengan kontrak reg ini;Model Tentukan keadaan program sebelum metode dipanggil dan keadaan program setelah metode telah menyelesaikan pelaksanaan.Bagian lain dari suatu kontrak dapat bervariasi dengan implementasi tetapi mungkin mencakup referensi silang ke modul lain, kondisi sinkronisasi dan persyaratan urutan eksekusi.

Dengan mengembangkan kontrak untuk setiap kelas dan metode, interaksi bagian yang berbeda dari suatu program dapatmudah dipetakan dan diprediksi.Penegakan kontrak, baik melalui penggunaan pernyataan atau mekanisme lain, juga memastikan bahwa program tidak akan berusaha untuk mengeksekusi jika ada pelanggaran kontrak, karena output apa pun yang dihasilkan di negara bagian itu secara teknis akan tidak valid.Ketika diimplementasikan sebagai fitur bahasa asli, desain oleh kontrak reg;dapat membantu memastikan bahwa produk akhir akan beroperasi seperti yang diharapkan dengan sedikit peluang untuk kesalahan yang tidak terduga.

Beberapa komplikasi yang datang dengan penggunaan desain oleh kontrak reg;Filsafat meliputi waktu desain yang lebih lama dan lebih banyak pengembangan granular dari suatu sistem sebelum pengkodean dimulai, yang kadang -kadang bisa sulit dengan proyek besar.Lebih praktis, mekanisme validasi kontrak yang digunakan dalam bahasa pemrograman yang secara alami mendukung kontrak dapat memperlambat eksekusi program.Pemahaman yang buruk tentang desain dengan kontrak reg;Metodologi dapat mengarah pada program yang menggunakan kontrak untuk melakukan pemeriksaan kesalahan dasar, berpotensi mengarah ke aplikasi yang rentan terhadap kecelakaan tiba -tiba setelah rilis.