Saya sedang mengerjakan aplikasi Silverlight. Saya telah membaginya dalam beberapa majelis:
- Domain
- Repositori (semua yang ada di basis data Sterling)
- UI
- ...
Ini adalah bagaimana saya mempelajarinya, tetapi saya bertanya-tanya. Jika Anda tahu DLL tidak akan digunakan kembali, apakah perlu membaginya? Atau bisakah Anda meletakkan semuanya dalam satu rakitan dan menggunakan folder dan ruang nama agar tetap rapi?
Saya juga melihat proyek yang memiliki terlalu banyak majelis. Alih-alih menggunakan ruang nama yang seharusnya sesuai.
Jadi: kapan Anda membuat perakitan baru untuk beberapa kode baru? Adakah sumber yang bagus tentang hal ini? Dan apakah Anda membagi kode secara teknis (domain, data, ui, dll.) Dan / atau secara fungsional (yaitu administrasi pasien, pasien-medis, logistik rumah sakit, ... - mungkin hanya untuk aplikasi yang lebih besar, tingkat perusahaan)?
A
,B
,C
,D
,E
,F
,G
,H
,I
,J
,K
. Di mana pun Anda referensi perakitanA
, Anda juga harus referensi majelis bergantung nya:B
,C
,D
. Tapi perakitanC
tergantung pada:E
,F
,G
,H
jadi kita akan membutuhkan mereka juga. Jadi, setiap kali Anda membutuhkan beberapa fungsiA
Anda harus menarik 7 majelis tambahan untuk membuatnya berfungsi; pastikan Anda mendapatkan versi yang benar dari setiap unit. Selamat datang di Neraka DLL baru.Majelis adalah unit penyebaran untuk aplikasi .NET; karena itu Anda harus mempertimbangkan mencocokkan potongan majelis Anda dengan arsitektur penempatan Anda.
Assemblies juga berguna ketika Anda membutuhkan kontrol versi terpisah pada beberapa kode. Misalnya, ketika Anda memiliki antarmuka umum yang akan mendapat manfaat dari kontrol versi independen, Anda harus memisahkan kode itu menjadi sebuah perakitan.
Ingat bahwa ruang nama dapat menjangkau majelis. Dalam banyak kasus sudah cukup untuk memisahkan perilaku menggunakan ruang nama. Lihatlah. NET
mscorlib.dll
yang dalam satu rakitan berisi kode yang mencakup sejumlah besar perilaku yang hanya dipisahkan oleh namespace.Jika Anda ingin otoritas tentang hal ini, jangan lihat lebih jauh dari:
Pedoman Desain Kerangka Kerja: Konvensi, Idiom, dan Pola untuk Reusable .NET Libraries (2nd Edition) oleh Krzysztof Cwalina dan Brad Abrams.
sumber