Pertanyaan yang diberi tag «single-responsibility»

Prinsip Tanggung Jawab Tunggal menyatakan bahwa setiap modul dalam suatu sistem harus bertanggung jawab atas satu fitur atau fungsionalitas, atau agregasi fungsi kohesif. Cara umum lain untuk mengatakannya adalah dengan mengatakan bahwa setiap modul hanya memiliki satu alasan untuk berubah.


6
Apa cara praktis untuk menerapkan SRP?
Apa saja teknik praktis yang digunakan orang untuk memeriksa apakah suatu kelas melanggar prinsip tanggung jawab tunggal? Saya tahu bahwa sebuah kelas seharusnya hanya memiliki satu alasan untuk berubah, tetapi kalimat itu agak kurang praktis untuk benar-benar mengimplementasikannya. Satu-satunya cara yang saya temukan adalah dengan menggunakan kalimat "The ......... seharusnya …


3
Bagaimana mengelola tanggung jawab tunggal ketika tanggung jawab dibagikan?
Saya punya dua kelas dasar, Operationdan Trigger. Masing-masing memiliki sejumlah subclass yang berspesialisasi dalam jenis operasi atau pemicu tertentu. A Triggerdapat memicu spesifik Operation. Sementara Operationdapat dipicu oleh spesifik Trigger. Saya perlu menulis kode yang memetakan diberikan Operationke yang diberikan Trigger(atau sebaliknya), tapi saya tidak yakin di mana harus meletakkannya. …

2
Saat mengikuti SRP, bagaimana saya harus berurusan dengan memvalidasi dan menyimpan entitas?
Saya telah membaca Kode Bersih dan berbagai artikel online tentang SOLID belakangan ini, dan semakin saya membaca tentangnya, semakin saya merasa tidak tahu apa-apa. Katakanlah saya sedang membangun sebuah aplikasi web menggunakan katakanlah ASP.NET MVC 3. Mari saya memiliki UsersControllerdengan Createtindakan seperti ini: public class UsersController : Controller { public …

2
Jenis data tanggung jawab tunggal dan khusus
Dalam beberapa bulan terakhir saya telah meminta orang-orang di sini di SE dan di situs lain menawarkan saya kritik konstruktif mengenai kode saya. Ada satu hal yang terus bermunculan hampir setiap waktu dan saya masih tidak setuju dengan rekomendasi itu; : P Saya ingin membahasnya di sini dan mungkin segalanya …


3
Apakah praktik yang buruk untuk definisi objek API mengandung ID referensi pihak ketiga sebagai properti?
Seperti ini: Campaign: type: object properties: id: type: string description: "A GUID identifier" referenceId: type: string description: "A consumers identifier they have used to map their own systems logic to this object." name: type: string description: "'Great Campaign 2017' as an example" Saya prihatin dengan referenceId . Domain sistem adalah …

2
Praktik standar untuk kontrol akses (pola desain)
Saya melihat desain antarmuka saya dan saya berjuang untuk memutuskan mana yang paling "benar" cara untuk menerapkan kontrol akses berbasis peran, mengingat userdan subjectyang useringin diakses. Sejauh yang saya bisa lihat, saya memiliki tiga opsi inti (dengan yang keempat menjadi bastardisasi dari tiga yang pertama dan yang kelima menjadi tweak …

2
Apakah ada prinsip antarmuka "minta hanya apa yang Anda butuhkan"?
Saya telah tumbuh menggunakan prinsip untuk mendesain dan mengonsumsi antarmuka yang pada dasarnya mengatakan, "minta hanya apa yang Anda butuhkan." Misalnya, jika saya memiliki banyak jenis yang dapat dihapus, saya akan membuat Deletableantarmuka: interface Deletable { void delete(); } Maka saya bisa menulis kelas generik: class Deleter<T extends Deletable> { …



8
Pelanggaran Prinsip Tanggung Jawab Tunggal?
Saya baru-baru ini berdebat dengan pengembang lain mengenai kelas di bawah ini: public class GroupBillingPayment { public void Save(IGroupBillingPayment model) { if (model == null || UserInfo.UserID == 0) { throw new Exception("GroupBillingPayment object or Current User Id is NULL , Please Contact Administrator."); } Data.GroupBillingPayment groupBillingPayment = RepositoryManager.GroupBillingPaymentRepository.GetById(model.GroupBillingPaymentID); Mapper.Map(model, …

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.