Apakah ada pedoman untuk memutuskan kapan suatu kelas harus berada di assembly / DLL sendiri? Saya sering melihat dua aliran pemikiran:
1) Setiap "pengelompokan" kelas termasuk dalam DLL sendiri mis. Repositori, Layanan, DTO, Infrastruktur, dll.
2) Semuanya harus dalam DLL tunggal tetapi dipisahkan melalui ruang nama / folder misalnya memiliki "Core" DLL dengan ruang nama tambahan misalnya Core.Repositori, Core.Services, Core.DTO, dll.
Di tempat kerja kami hanya menyatukan semuanya dalam satu Majelis yang disebut "Bisnis". Ada beberapa folder tetapi tidak ada pemisahan nyata - objek bisnis (dengan logika, beberapa di antaranya bahkan tidak boleh kelas) disatukan dalam folder "BusinessObjects" tanpa perawatan. Hal-hal yang digunakan di lebih dari satu kelas ada di folder "Core". Utilitas ada di folder "Utilitas", infrastruktur akses data adalah folder "Data" - Anda dapat idenya.
Untuk modul baru yang sedang saya kerjakan, saya ingin / perlu memiliki lapisan akses data terpisah (pikirkan implementasi Repositori yang belum sempurna) tetapi saya tidak ingin hanya membuangnya di bawah folder "BusinessObjects" dengan 160 folder lainnya (!) kelas di sana. Pada saat yang sama saya khawatir tentang membuat Perpustakaan Kelas baru karena semua orang terbiasa memasukkan kelas di Perpustakaan tunggal; folder / namespace bisa berfungsi.