Yeniden tasarlandığım eski bir uygulamam var, çünkü bu noktada bir "çamur topu" dediğimiz şey, hiçbir katman veya SOC yok. Ekip, modüler bir şekilde çalışmak için kullanılır, yani "Görev Planlama" (askeri) 'i yöneten bir modül üzerinde çalışan "eğitim", "İş Olanakları" üzerinde çalışan bir ekip vardır. Bu alanları, hizmet portalı, tek veri tabanı ve hizmet verdiğimiz birkaç harici uygulama olarak müşterilerimize açıklayan bir web sitemiz var..Net'de bir Paylaşılan Çekirdek (DDD) nasıl uygulanır
Etki alanının nasıl düzgün bölümleneceği dışında çoğu katmanın yeniden tasarlanmasını yapıyorum (Bu noktada kullandığımız noktadan bahsetmem gerekir. Net 4.0). Asıl düşüncem, bunların çalışma şekli nedeniyle sınırlı bağlamlar olduğu, farklı kullanıcı kümelerine sahip oldukları sanılıyordu, ancak şimdi bu siteyi kullanan insanların bir çok alanı birden kullanabileceğine inanıyorum. Elbette, bazı gruplar SADECE sadece bir hizmet kullanmaktadır, ancak birçoğu çok kullanmaktadır. Sitenin amacı "üyeler" in one-stop yönetimi. Modüller arasında, modüle özgü sınıflarımız var ve sonra bazı paylaşılan sınıflarımız var, örneğin, bir üye kavramı tüm modüller tarafından biliniyor ve kullanılıyor. Üye aslında çekirdek bir kavramdır, site tüm bu alanlardaki üyenin bilgilerini bir kerede takip ederek değer katar. Bu temelde, sistemde birbiriyle yakından ilişkili fakat ayrı alanlar ve paylaşılan bir alan. Umarım sahip olduğum soruya cevap verecek kadar açıktır.
Genel bir depo arabirimi gibi ortak varlıklar ve paylaşılan etki alanı arabirimleri için, sınırlı bağlamlar olmasalar bile paylaşılan bir çekirdeğim olabileceğini düşünüyorum. Tüm ortak kodları (genel depo, çekirdek etki alanı modeli, paylaşılan çekirdek vb) aynı ad alanına veya ad alanı hiyerarşisine koymak akıllıca olur ve bu ad alanını kendi derlemesinde izole etmem gerekir mi? Aynı şekilde, her bir alanı ("eğitim", "Fırsatlar" ...) kendi meclislerine dağıtmak mı yoksa hepsini bir mecliste toplamak ve mantıksal olarak ad alanıyla ayırmak daha iyi olacaktır. Bir yandan, fiziksel olarak bölümlenmiş modülleri görmek biraz daha kolay, ama bir sorunu çözmek için iki modülün birlikte çalışması gereken durumlar hakkında endişeleniyorum. Nasıl iletişim kurarlar ve şeyleri asiklik halde tutarlar (tahmin ettiğim uygulama katmanındaki hizmetler aracılığıyla). böylece
(seçeneklerin özet):
Domain.Model (dll) - Domain.Model.Core - Kernel (paylaşılan kişiler ve çekirdek alanı modeli) - RepositoryFramework - vs. .. - Domain.Model.Training - Domain.Model.Opportunities ...
veya
Domain.Model.Core
.210Domain.Model.Training (dll)
Domain.Model.Opportunities (dll) , (eğitim yapmak ve fırsatları birlikte çalışmak nasıl?)
zaman için çok teşekkür ederim
Harika, efendim! – user546077