我正在构建一个MVC应用程序,它比我通常做的要复杂一点,我想尝试一个新的类结构。基本上这些阅读很多。只有5-10%的操作将针对数据库进行插入/更新。这个类的结构方法是正确的还是可用的? (MVC/C#)
因此,我正在考虑创建将从数据库层返回的基类DTO类。然后,业务对象将继承DTO类,以扩展具有所有验证和业务规则的基本结构。
例子:
namespace Project.DTO
{
public class Employee
{
public string Name;
public string Surname;
...
}
}
namespace Project
{
public class Employee : Project.DTO.Employee
{
public bool IsValid()
{
...
}
}
}
这是一个好办法?我还没有想到的是如何在MVC内部使用它们,因为“正确”的方式是实现模型类。我相信我可以创建从DTO对象继承的模型类......但我不确定。
我还需要一种方法来处理所有具有某种接口的验证函数,以避免在GUI上重复使用很多通用代码。
在此先感谢!
Intreseting,我正面临类似的问题。您的回复帮助了我很多 – vondip 2011-03-18 14:19:26
界面选项是我过去所做的,并且运行良好。但是对于松散耦合,Business类将至少具有DTO对象的相同属性,所以通过定义所有字段两次,我相信您将走上漫长的道路。 – DaniH 2011-03-18 14:23:26
@DaniH:这不一定是因为业务类具有DTO的所有属性。您可能会很好地为某些用途使用较少的属性的业务类,或者甚至可能有一个DTO分为几个不同的业务类的情况。 – 2011-03-18 14:31:40