Không bao giờ sử dụng Mô hình, chỉ có ViewModels


8

Tôi đang bắt đầu một dự án MVC 5 mới từ đầu. Tôi đang sử dụng EF 6 (Cơ sở dữ liệu đầu tiên) và Danh tính 2.0.

Giải pháp của tôi bao gồm 3 dự án khác nhau: Dữ liệu (trong đó tôi có .edmx và bối cảnh DB của tôi), Tài nguyên (cho mục đích bản địa hóa) và Web (chính dự án web).

Theo mặc định, tôi đang sử dụng ViewModels cho tất cả các chế độ xem của mình. Mỗi lần tôi tạo chế độ xem mới, điều đầu tiên tôi làm là thêm ViewModel (nếu ViewModels được kết nối giữa chúng, tôi giữ tất cả chúng trong cùng một tệp; ví dụ: tất cả các ViewModels liên quan đến tài khoản người dùng tôi giữ trong AccountViewModels) . Cho đến nay, điều này đã làm cho mọi thứ rất đơn giản và giải quyết một số vấn đề tôi gặp phải trước đây.

Nhưng tôi tự hỏi, nó có ý nghĩa đối với tôi để sử dụng Mô hình không? Cái duy nhất tôi đang sử dụng ngay bây giờ là cái duy nhất cho Danh tính, được tạo theo mặc định và chứa ApplicationUser và ApplicationDbContext, cả cụ thể và cần thiết cho Danh tính. Ngoài ra, đó là tất cả mọi thứ ViewModels.

  • Dự án dữ liệu của tôi có được coi là "Mô hình" cho ứng dụng của tôi không? Do đó, trên thực tế tôi đang sử dụng một Mô hình, chỉ là thay vì là một nhóm các lớp tôi giữ trong Web \ Model, đó là một dự án riêng biệt nơi "Mô hình" (các đối tượng BL được tạo bởi Thực thể) được lưu trữ. Tôi nghĩ vậy, nhưng tôi không chắc chắn.
  • Đây có phải là một cách tiếp cận đúng đắn, hoặc có thể có những vấn đề tiềm ẩn trong tương lai? Đây là lần đầu tiên tôi tham gia lập trình web nên tôi sẽ đánh giá cao bất kỳ lời khuyên nào.

Câu trả lời:


9

Dự án dữ liệu của tôi có được coi là "Mô hình" cho ứng dụng của tôi không?

Vâng, đó chính xác là những gì Mô hình được cho là.

Đây có phải là một cách tiếp cận đúng đắn

Tôi tin rằng đó là.

hoặc có thể có những vấn đề tiềm ẩn trong tương lai?

Chắc chắn sẽ có. Nhưng mô tả về kiến ​​trúc của bạn rất mơ hồ, đến nỗi chúng tôi chỉ có thể đoán loại vấn đề bạn sẽ gặp phải.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.