清洁建筑与洋葱建筑

时间:2014-05-05 19:06:05

标签: architecture onion-architecture clean-architecture

我一直在阅读Onion Architecture,今天我发现了鲍勃叔叔的Clean Architecture

对于我的生活,我看不出它们之间有任何差异,它们看起来完全相同(除了命名惯例)。

这两种建筑风格有什么不同吗?如果是的话,你能解释一下吗?

干杯

3 个答案:

答案 0 :(得分:16)

术语"清洁建筑"只是文章的名称。洋葱架构是文章中解释的概念的特定应用。

答案 1 :(得分:13)

有清洁,六边形和洋葱等架构,目标相同,实施方式也存在一些差异。

  1. 独立于框架。该体系结构不依赖于某些特征库软件库的存在。这允许您将此类框架用作工具,而不必将您的系统塞入其有限的约束中。
  2. 可测试即可。可以在没有UI,数据库,Web服务器或任何其他外部元素的情况下测试业务规则。 独立于UI。 UI可以轻松更改,而无需更改系统的其余部分。例如,可以使用控制台UI替换Web UI,而无需更改业务规则。
  3. 独立于数据库。您可以换掉Oracle或SQL Server,用于Mongo,BigTable,CouchDB或其他东西。您的业​​务规则未绑定到数据库。
  4. 独立于任何外部机构。事实上,您的业务规则根本不了解外部世界。
  5. 在所有架构中,目标是允许最稳定的东西不依赖于不太稳定的东西会更频繁地改变。

    更重要,更稳定的层是域。

    这对于这些体系结构来说更重要,那么如果对于洋葱,从用户界面输入到基础结构,域等的协调对象是应用程序服务,或者如果在干净体系结构中是交互器则是小细节。

答案 2 :(得分:0)

它们看起来很像,并且用于实现相同的目标,主要是可测试性和关注点分离,但你应该注意到Bob叔叔的清洁架构更多以Use Case为中心。