Tôi đang lập mô hình một ứng dụng ASP.NET MVC rất cơ bản bằng cách sử dụng NHibernate và dường như tôi bị kẹt trên thiết kế của mình. Dưới đây là một phác thảo của mô hình của tôi:Tôi có vi phạm ranh giới tổng hợp của mình không?
model 1 http://i29.tinypic.com/309614n.jpg
Như bạn có thể thấy điều này là rất cơ bản nhưng tôi có một số lo ngại về điều đó. Thực thể gốc người dùng và thực thể gốc Tổ chức đang truy cập cùng một thực thể Organization_Users con thông qua hai mối quan hệ một-nhiều. Điều này có vẻ không đúng và tôi nghĩ rằng tôi đang phá vỡ các ranh giới tổng hợp. Mô hình này có mùi với tôi nhưng tôi thích ý tưởng bởi vì tôi muốn có mã như thế này:
var user = userRepository.Load(1);
var list = user.Organizations; // All the organizations the user is a part of.
và
var org = orgRepository.Load(1);
var list = org.Users; // All the users in an organization.
Ngoài ra các dữ liệu thêm trong bảng như gắn cờ và vai trò sẽ được sử dụng bởi thực thể Tổ chức. Đây có phải là thiết kế tồi không? Nếu bạn có bất kỳ suy nghĩ nào sẽ tuyệt vời. Tôi vẫn đang cố gắng suy nghĩ về DDD. Cảm ơn
Cảm ơn rất nhiều câu trả lời của bạn. Đó là cách chính xác tôi muốn thực hiện mô hình này. Bạn đã đưa ra một điểm tuyệt vời mà phải cập nhật OrgUserDetails và OrganizationUser với cùng một thông tin không phải là một ý tưởng tuyệt vời. Tôi sẽ sử dụng mô hình đầu tiên của mình và thêm lớp OrganizationUser, như bạn đã nói, vào miền Tổ chức của tôi để tôi có thể truy cập các thuộc tính bổ sung đó. Có vẻ như thế sẽ ổn thôi. Cảm ơn một lần nữa vì sự giúp đỡ của bạn! – CalebHC