Saya memiliki lapisan berikut dalam solusi saya:
- App.Domain
- Aplikasi. Layanan
- App.Core (mungkin Anda menyebutnya App.DataLayer yang satu ini)
- Aplikasi.Web
Pola desain perangkat lunak bukan pertanyaan saya, saya telah mengikuti Model di Domain
public class Foo {
public int Id {get;set;}
public int Name {get;set;}
public int Value {get;set;}
}
Saya ingin menggunakan model ini pada tampilan (misalnya beranda) DAN saya ingin menggunakan Id, Name & Value, jadi jika saya ingin membuat ViewModel, saya akan menambahkan yang berikut:
public class FooViewModel {
public int Id {get;set;}
public int Name {get;set;}
public int Value {get;set;}
}
Jadi, apakah itu ide yang bagus? atau hanya gunakan Foosaja FooViewModel?
Modelbiasanya dilewatkan keView? Mengapa Anda perlu membuat ulang bidangModeldiView? Jika pemisahan kekhawatiran adalah tujuanMVC, dalam keadaan apa seseorang ingin melakukan hal yang sama denganModeldanView? JikaViewModelkeduanya, mengapa tidak dengan memperluas / menyusun keduanyaModeldanView?