Tôi có các lớp sau trong giải pháp của mình:
- Ứng dụng tên miền
- Ứng dụng dịch vụ
- App.Core (có thể bạn gọi đây là App.DataLayer)
- Ứng dụng web
Mẫu thiết kế phần mềm không phải là câu hỏi của tôi, tôi đã theo Model trong Domain
public class Foo {
public int Id {get;set;}
public int Name {get;set;}
public int Value {get;set;}
}
Tôi muốn sử dụng mô hình này trên chế độ xem (ví dụ trang chủ) VÀ tôi muốn sử dụng Id, Name & Value
, vì vậy nếu tôi muốn tạo ViewModel, tôi sẽ thêm vào như sau:
public class FooViewModel {
public int Id {get;set;}
public int Name {get;set;}
public int Value {get;set;}
}
Vì vậy, đó là ý tưởng tốt? hoặc chỉ sử dụng Foo
thay vì FooViewModel
?
Model
thường được truyền choView
? Tại sao chính xác bạn cần phải tạo lại các lĩnh vựcModel
trongView
? Nếu tách mối quan tâm là một mục tiêuMVC
, trong những trường hợp nào người ta sẽ muốn làm điều tương tự vớiModel
vàView
? NếuViewModel
là cả hai, tại sao không bằng cách mở rộng / sáng tác cả haiModel
vàView
?