【发布时间】:2014-05-31 06:25:39
【问题描述】:
我正在尝试根据洋葱架构方法重构系统。
我的外层包括以下部分
WCF Web 服务(我们提供)
用于数据库访问的基础设施类
用于访问外部 Web 服务的基础架构类
测试
我想再次检查是否允许外层的不同部分相互依赖。例如,WCF 类可以直接依赖于基础结构程序集中的任何代码吗?
据我了解,这是不允许的。例如,WCF 代码应该只依赖于内层的代码(例如接口)。你能确认一下吗?
PS
我有点困惑,因为一方面有些文章证实了这一点:
http://blog.ploeh.dk/2013/12/03/layers-onions-ports-adapters-its-all-the-same/您可能已经注意到,我将橙色、黄色和 将蓝色框分成单独的集群。这是因为我还想 应用 UI 组件不能依赖数据访问的旧规则 组件,反之亦然。因此,我在 这些群体
但另一方面,测试(例如基础设施程序集中的代码)与基础设施程序集位于同一层并直接依赖于它们。
【问题讨论】:
标签: architecture n-tier-architecture onion-architecture