ฉันมีเลเยอร์ต่อไปนี้ในโซลูชันของฉัน:
- 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
?