0

是否存在跨控制器和 ViewModel 共享数据库数据的最佳实践。例如:我希望提供的产品和类别(一种情况应该是在网站管理区域的产品编辑视图中提供类别列表)并且我希望更新此数据修改的情况(即在前一种情况下添加类别...)。我不希望在每个控制器中都有相同的代码读取数据库(我正在使用 EF5)......

4

1 回答 1

0

使用存储库模式来实现以下一个或多个目标:

  • 您希望最大限度地利用自动化测试的代码量,并隔离数据层以支持单元测试。

  • 您从多个位置访问数据源,并希望应用集中管理、一致的访问规则和逻辑。

  • 您希望为数据源实施和集中缓存策略。

  • 您希望通过将业务逻辑与数据或服务访问逻辑分开来提高代码的可维护性和可读性。

  • 您希望使用强类型的业务实体,以便您可以在编译时而不是在运行时识别问题。

  • 您希望将行为与相关数据相关联。例如,您想要计算字段或在实体内的数据元素之间实施复杂的关系或业务规则。

  • 您想应用域模型来简化复杂的业务逻辑。

更多信息在这里:http: //msdn.microsoft.com/en-us/library/ff649690.aspx

于 2013-09-04T15:59:10.997 回答