Tôi đang cố gắng xác định cách tốt nhất để kiến trúc một dự án .NET Entity Framework để đạt được một cách tiếp cận lớp đẹp mắt. Cho đến nay tôi đã thử nó trong một trò chơi dựa trên trình duyệt, nơi người chơi sở hữu và vận hành các hành tinh. Đây là cách tôi đã có nó:Bố cục khung thực thể .NET Entity (kiến trúc)
trang web
này chứa tất cả kết thúc trước.
C# Dự án - MLS.Game.Data
này chứa các tập tin EDMX với tất cả các ánh xạ dữ liệu của tôi. Không có gì khác ở đây.
# Dự án C - MLS.Game.Business
này chứa các lớp khác nhau mà tôi gọi như PlanetManager.cs 'quản lý'. Người quản lý hành tinh có nhiều phương pháp tĩnh khác nhau được sử dụng để tương tác với hành tinh, chẳng hạn như getPlanet (int planetID) sẽ trả về một đối tượng mã được tạo từ MLS.Game.Data.
Từ trang web, tôi sẽ làm một cái gì đó như thế này:
var planet = PlanetManager.getPlanet(1);
Nó trả về một Planet đối tượng từ từ MLS.Game.Data (tạo ra từ các EDMX). Nó hoạt động, nhưng nó làm phiền tôi đến một mức độ bởi vì nó có nghĩa là kết thúc trước của tôi phải tham khảo MLS.Game.Data. Tôi luôn cảm thấy rằng GUI chỉ cần tham khảo dự án kinh doanh.
Ngoài ra, tôi thấy rằng các lớp Trình quản lý của tôi có xu hướng rất nặng. Tôi sẽ kết thúc với hàng tá phương pháp tĩnh trong chúng.
Vì vậy, ... câu hỏi của tôi là - làm cách nào để mọi người khác đưa ra các dự án ASP EF của họ?
EDIT
Sau khi một số mặc dù nhiều, có mục bổ sung mà làm phiền tôi. Ví dụ, giả sử tôi có đối tượng Planet của tôi, một lần nữa được tạo ra từ trình thủ thuật. Điều gì sẽ xảy ra nếu một thời gian mà Planet của tôi cần có một tài sản đặc biệt, nói "Dân số" là một phép tính của một số loại dựa trên các đặc tính khác của đối tượng Planet. Tôi có muốn tạo ra một lớp mới kế thừa từ Planet và sau đó quay trở lại mà thay vào đó? (Hmm, tôi tự hỏi nếu những lớp học được đóng dấu của EF?)
Cảm ơn
trả lời chỉnh sửa của bạn - đó là nơi tách dữ liệu và các đối tượng đa dạng. các đối tượng phong phú hiểu cách phơi bày các thuộc tính của chúng trong khi đóng gói các hoạt động sửa đổi chúng. các DTO chỉ đơn thuần là truyền dữ liệu đến lớp kiên trì và không yêu cầu logic. – flesh