【发布时间】:2010-05-31 10:12:04
【问题描述】:
我正在努力让自己习惯于 TDD、DI 和基于模式的开发。到目前为止,我对应用程序开发并不陌生,但由于我计划在几个月内开始一个(大)新项目,所以我想从一开始就做好准备;)。
当前架构基于基于 WCF 的 AppServer、MS SQL 数据库和访问 AppServer 的 WPF/WCF 客户端。
我有 3 个实体,Stay、Apartment 和 Guest。住宿参考 1 间公寓和 1 位客人。 3 个实体中的每一个都有自己的存储库(因为据我所知,它们是根实体)。实体类是 POCO,在服务器和客户端中都使用。存储库在内部使用 OR/Mapper(目前是实体框架)。
目前有 3 个 WCF 服务,每个实体一个处理 CRUD 操作...更多将及时跟进。
现在我的问题... 实体的引用应该发生在哪一层?存储库不应相互依赖(为了便于替换,但如果需要,它们可以松散耦合地相互依赖,因为我已经使用 LightCore 作为 DI 容器)。 据我了解,引用可以在存储库或服务中设置。
什么是“正确”或更优雅的方式?
也许我误解了一些东西,但引用似乎并不真正有效。 例如,如果我有 10,000 间住宿、15,000 名客人和 150 间公寓。如果我想从服务中返回 500 次住宿,包括关联的客人(500 次似乎合理,尽管我想返回更多),那么这将高达 500 * 15,000 = 750 万次迭代。 这似乎不是很有效。当然,可以缓存它,但缓存只能在一定程度上有所帮助。
还是我在设计中的某个地方存在误解?每一个建议都将不胜感激:)
[编辑] 我仍然不确定如何继续我的设计,因此我们将不胜感激。
【问题讨论】:
标签: wcf repository design-patterns