49

我一直在阅读洋葱架构,今天我发现了鲍勃叔叔的清洁架构

对于我的生活,我看不出它们之间有任何区别,它们看起来相同(命名约定除外)。

两种建筑风格有什么区别吗?如果是的话,你能给我解释一下吗?

干杯

4

3 回答 3

44

术语“清洁架构”只是文章的名称。洋葱架构是文章中解释的概念的具体应用。

于 2014-05-06T11:10:06.723 回答
35

有像干净、六边形和洋葱这样的架构,它们的目标相同,但在实现上存在一些差异。

  1. 独立于框架。该架构不依赖于某些功能丰富的软件库的存在。这使您可以将此类框架用作工具,而不必将系统塞入其有限的约束中。
  2. 可测试。可以在没有 UI、数据库、Web 服务器或任何其他外部元素的情况下测试业务规则。独立于用户界面。UI 可以轻松更改,而无需更改系统的其余部分。例如,可以用控制台 UI 替换 Web UI,而无需更改业务规则。
  3. 独立于数据库。您可以将 Oracle 或 SQL Server 换成 Mongo、BigTable、CouchDB 或其他东西。您的业​​务规则未绑定到数据库。
  4. 独立于任何外部机构。事实上,您的业务规则根本不了解外部世界。

在所有架构中,目标是允许最稳定的事物不依赖于不太稳定的事物会更频繁地变化。

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

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

于 2016-02-16T14:23:41.443 回答
2

它们看起来确实相似,并且用于实现相同的目标,主要是可测试性和关注点分离,但您应该注意到,鲍勃叔叔的清洁架构更以用例为中心。

于 2014-09-17T14:51:11.870 回答