这是清洁数据模式吗?

时间:2013-11-25 01:35:01

标签: c# asp.net-mvc entity-framework design-patterns

模式的名称是什么,表示层获取和保存的每个数据都尽可能简单,没有附加ef上下文信息?

例如。

CustomerManager manager = new CustomerManager();
Customer customer = manager.GetCustomerByEmail(string emailAddress);
DoSomething(customer);
manager.Save(customer);

这是推荐用于MVC吗?我看到很多例子,控制器和视图模型使用的是ef上下文。这让我感到很糟糕。

PS。我对“清洁数据”模式的引用只是我最好的猜测,而不是对实际模式的引用。

2 个答案:

答案 0 :(得分:2)

我从未遇到过“清洁数据”模式......但这看起来更像是Active Record Pattern

通常,在应用此模式时,您的域对象上会有Insert()Update()Delete()方法。

这些天你不经常看到这种方法。人们倾向于保持持久性逻辑和业务逻辑分离。而这种方法会让你走上它们交织在一起的道路。这使得测试变得更加困难,而且代码库变得无法抵抗变化。

答案 1 :(得分:1)

我倾向于使用的命名模式是“存储库”模式,其中存储库封装了如何使用数据访问层的实现细节。这样你可以从EF(或其他)切换,而不需要你的控制器层代码知道它。

http://martinfowler.com/eaaCatalog/repository.html