Saya mengerjakan berbagai aplikasi bisnis di mana semua pengembang lain terbiasa melakukan aplikasi CRUD dasar atau hanya berfokus pada membuat antarmuka yang cantik / fungsional dan saya mendapatkan banyak hal sebagai berikut.
"Dengan cara yang kita gunakan untuk melakukannya, Karyawan akan memiliki semua hal yang dapat Anda lakukan dengan seorang karyawan." Dan itu benar. "Kelas" yang satu itu memiliki ribuan baris kode dan apa pun yang dapat Anda lakukan dengan seorang karyawan ada di sana. Atau, lebih buruk lagi, ada tabel data karyawan dan masing-masing pengembang menemukan cara untuk melakukan apa yang ingin mereka lakukan dalam event handler.
Semua hal buruk tentang pendekatan itu benar tetapi setidaknya pengembang yang menggunakan karyawan dapat, tanpa pergi ke dokumen lain, mencari tahu cara mendaftarkan karyawan dalam rencana kesehatan, memberikan kenaikan gaji, memecat, menyewa, mentransfer dll. untuk Manajer dan semua ide utama lainnya. Atau, jika mereka menggunakan karyawan tabel data lain yang dibutuhkan, bisa saja melakukan apa yang mereka inginkan.
Ya, ada banyak kode duplikat. Ya itu kode yang sangat rapuh. Ya pengujian itu jauh lebih sulit daripada yang diperlukan. Ya, mengubah fungsionalitas disebabkan oleh rasa takut dan Salin Tempel adalah alami karena pendekatannya.
Tetapi mereka setidaknya dapat menemukan apa yang tersedia dengan membuat satu kelas atau mereka dapat melakukan apa yang perlu mereka lakukan tanpa harus memahami perbedaan antara antarmuka, kelas abstrak, kelas beton dll. Dan mereka tidak perlu mencari apa pun selain dari metode yang dikembalikan oleh intellisense atau mengetahui tabel tempat data berada.
Saya telah googled / binged dan bahkan yahoo! D tetapi saya belum menemukan pengakuan atas masalah ini.
Jadi mungkin tidak ada masalah dan saya hanya melewatkan sesuatu. Saya telah memutar otak untuk mencari solusi di mana pengembang yang tidak bekerja dengan perilaku / desain yang sebenarnya dapat dengan mudah menemukan cara melakukan sesuatu tanpa harus merujuk dokumen eksternal atau memindai nama kelas dalam berbagai komponen / proyek untuk menemukan yang terdengar seperti itu akan berhasil.
Satu-satunya hal yang saya dapat buat adalah memiliki ini, karena kurangnya nama yang lebih baik, "Daftar Kelas Konten" yang tidak lebih dari yang mengembalikan kelas yang sebenarnya (dan sebenarnya sebagian besar dari mereka adalah antarmuka tetapi mereka tidak tahu bedanya atau bahkan peduli) yang dapat digunakan pengembang lain untuk melakukan tugas aktual yang diinginkan. Masih berakhir dengan kelas yang sangat besar tetapi hampir tidak ada perilaku di dalamnya.
Apakah ada cara yang lebih baik yang tidak memerlukan pengetahuan intim dari tingkat menengah di mana implementasi SOLID sebenarnya terjadi?
Pada dasarnya yang saya tanyakan adalah ada cara untuk memungkinkan pengembang tipe CRUD terus menjadi pengembang CRUD dalam sistem yang sangat kompleks