Chúng tôi sắp viết ứng dụng WPF đầu tiên của mình và làm quen với mẫu MVVM. Chúng tôi đã xây dựng nhiều ứng dụng Winform và có một kiến trúc rất thành công đối với chúng tôi. Chúng tôi gặp một chút khó khăn khi dịch kiến trúc đó hoặc xác định vị trí các phần nhất định của kiến trúc phù hợp với mô hình MVVM.
Trong lịch sử, chúng ta có một Gui (exe chính) sau đó giao tiếp với một dll BusinessLogic. BusinessLogic liên lạc với một dll DAL thông qua dịch vụ web và DAL tương tác với DB. Tất cả DAL, BusinessLogic và GUI đều tham chiếu cùng một dll BusinessObjects.
Một số chuyển đổi sang MVVM khá đơn giản. Gui của chúng tôi vẫn sẽ chứa các khung nhìn, BusinessOjbects của chúng tôi vẫn sẽ chứa mô hình và DAL của chúng tôi vẫn sẽ tương tác với DB (mặc dù công nghệ để thực hiện chúng có thể thay đổi).
Điều chúng tôi không chắc chắn là thành phần BusinessLogic của chúng tôi. Về mặt lịch sử, điều này sẽ cung cấp các hàm cho GUI để gọi các điều khiển trong các khung nhìn (ví dụ: GetCustomerList sẽ trả về danh sách các đối tượng Khách hàng hoặc các hàm CRUD điển hình).
Vấn đề chính chúng ta có là liệu mẫu MVVM sẽ gọi một thành phần bổ sung để chứa ViewModels hay nếu chúng ta chỉ thay đổi suy nghĩ và di chuyển những gì chúng ta đã sử dụng làm thành phần BusinessLogic sang ViewModels?
Thành phần BusinessLogic của chúng tôi có đại diện cho ViewModels không?