我们的项目经理要求我们重构一个使用存储库模式的应用程序(以 Nerddinner 为例),现在使用服务层。我现在的问题是我不确定如何更新模型,因为 UpdateModel 方法应该在控制器中使用......有什么推荐的方法来使用存储库模式和服务层更新模型?请帮忙
问问题
244 次
1 回答
0
我建议您在服务层中“隐藏”您当前的存储库模式。服务的客户端不应看到数据访问代码。
您可以实现将从服务层返回或作为参数接受的 DTO 集合。这些对象可以只是 POCO,以与数据库无关的方式保存数据。
DTO 通常伴随着适配器,用于在数据访问类(表示表)之间进行转换。这种方法允许您在不更改服务层接口的情况下更改数据库架构。
如果您的项目很简单并且您的视图的数据与服务层 DTO 匹配,您可以将这些 DTO 视为 MVC 中的模型。您还可以在 MVC 项目中定义模型,并让控制器或另一组适配器将模型转换为 DTO。
我的首选设计包括在 MVC(模型文件夹)中声明的模型,它与强类型视图一起使用。然后 UpdateModel 方法适用于这些类。下一个控制器或 ModelAdapter 创建服务层 DTO 的实例并将它们传递给服务。然后,服务内部的 DTO 适配器负责从存储库模式填充数据访问类。
于 2010-09-27T20:34:53.680 回答