模式的名称是什么,表示层获取和保存的每个数据都尽可能简单,没有附加ef上下文信息?
例如。
CustomerManager manager = new CustomerManager();
Customer customer = manager.GetCustomerByEmail(string emailAddress);
DoSomething(customer);
manager.Save(customer);
这是推荐用于MVC吗?我看到很多例子,控制器和视图模型使用的是ef上下文。这让我感到很糟糕。
PS。我对“清洁数据”模式的引用只是我最好的猜测,而不是对实际模式的引用。
答案 0 :(得分:2)
我从未遇到过“清洁数据”模式......但这看起来更像是Active Record Pattern。
通常,在应用此模式时,您的域对象上会有Insert()
,Update()
和Delete()
方法。
这些天你不经常看到这种方法。人们倾向于保持持久性逻辑和业务逻辑分离。而这种方法会让你走上它们交织在一起的道路。这使得测试变得更加困难,而且代码库变得无法抵抗变化。
答案 1 :(得分:1)
我倾向于使用的命名模式是“存储库”模式,其中存储库封装了如何使用数据访问层的实现细节。这样你可以从EF(或其他)切换,而不需要你的控制器层代码知道它。