帮助设计我自己的粗糙DataContext

时间:2010-01-23 12:28:03

标签: design-patterns oop architecture data-structures repository-pattern

我用TDD ASP.Net MVC完成了一些Linq编程并喜欢它。 Digressing,我现在正在学习针对存储过程的webforms并且不能使用linq。我想保留一些与MVC一起享受的松散耦合和可测试性。

我没有时间学习和设置依赖注入基础架构,因此我创建了一个对象工厂,可以配置为根据需要创建模拟或实际实例。

这种方法的问题是工厂服务我的测试存储库的新实例,所以当实体A请求实体B的存储库时,它获得一个新的实例而没有在我的单元测试的上下文中进行的更改 - 这是问题。由于我的测试实例没有持久性机制而且我没有使用依赖注入,我需要一种方法让实体A访问我的单元测试的当前数据上下文,这样它就可以获得实体B的脏存储库。对于桌面应用程序我通常将我的dataContext创建为单例,但由于web-apps的并发性问题,我已经排除了这一点。

我正在寻找一个好的模式来代替。作为一个止损,我要求所有存储库和业务对象都使用数据上下文进行实例化,从而创建一种层次结构,其中dataContext使用dc实例化存储库,然后使用dc实例化业务对象。

我没有使用复合模式,继承或接口(模拟除外)。我不是一个OO程序员,但这看起来很难看。有没有人得到我应该遵循的任何好的模式建议,可以整理我的解决方案?

TIA

1 个答案:

答案 0 :(得分:0)

查看数据映射器模式,应该有大量的示例,这是我们使用的方法,它适用于我们。