ฉันมีเลเยอร์ต่อไปนี้ในโซลูชันของฉัน:
- App.Domain
- App.Service
- App.Core (บางทีคุณอาจเรียกแอปนี้ว่า DataLayer)
- App.Web
รูปแบบการออกแบบซอฟต์แวร์ไม่ใช่คำถามของฉันฉันมี Model ต่อไปนี้ Domain
public class Foo {
public int Id {get;set;}
public int Name {get;set;}
public int Value {get;set;}
}
ฉันต้องการใช้โมเดลนี้ในมุมมอง (ตัวอย่างเช่นหน้าแรก) และฉันต้องการใช้Id, Name & Valueดังนั้นหากฉันต้องการสร้าง ViewModel ฉันจะเพิ่มสิ่งต่อไปนี้:
public class FooViewModel {
public int Id {get;set;}
public int Name {get;set;}
public int Value {get;set;}
}
ดังนั้นความคิดที่ดีคืออะไร? หรือเพียงแค่ใช้FooแทนFooViewModel?
Modelส่งผ่านไปยังปกติViewหรือไม่ ว่าทำไมคุณต้องสร้างสาขาของModelในView? ถ้าแยกของความกังวลเป็นเป้าหมายของMVCภายใต้สถานการณ์สิ่งที่ใครอยากจะทำสิ่งเดียวกันกับModelและView? ถ้าViewModelเป็นทั้งคู่ทำไมไม่ขยาย / แต่งทั้งสองModelและView?