Asp.net mvc Asp.NETMVC:扩展域实体并创建接口以创建视图

Asp.net mvc Asp.NETMVC:扩展域实体并创建接口以创建视图,asp.net-mvc,design-patterns,Asp.net Mvc,Design Patterns,您对上述实现有何看法?我从未见过asp.net mvc示例项目以这种方式实现视图模型和视图,我不知道为什么。相反,视图模型类是映射到域实体和属性的简单对象。EmployeeViewMOdel:Employee将您的ViewModel与域耦合 这违背了分离UI层的全部目的。是的,它确实。。。但是,如果有一个ViewModel,在其中使用模型属性,该怎么办?它以同样的方式结合。或者ViewModel必须是纯.NET类型,重复模型中的ONCE。我不这么认为。 /* Domain Entity */ p

您对上述实现有何看法?我从未见过asp.net mvc示例项目以这种方式实现视图模型和视图,我不知道为什么。相反,视图模型类是映射到域实体和属性的简单对象。

EmployeeViewMOdel:Employee将您的ViewModel与域耦合


这违背了分离UI层的全部目的。

是的,它确实。。。但是,如果有一个ViewModel,在其中使用模型属性,该怎么办?它以同样的方式结合。或者ViewModel必须是纯.NET类型,重复模型中的ONCE。我不这么认为。
/* Domain Entity */
public class Employee 
{
   //code here
}

/* View Model */
public class EmployeeViewModel : Employee, IEmployeeViewModel
{
   //Add any properties and method to implement IEmployeeViewModel
}

public interface IEmployeeViewModel
{
   //Expose and define any properties or methods that its corresponding view(s) may need
}

// IEmployeeViewModel.ascx binds to a IEmployeeViewModel