回顾Bob大叔的简洁架构

喔家ArchiSelf

Robert Martin 就是我们常说的Bob大叔,是码界的骨灰级人物了,在4年前提出了所谓的简洁架构,值得回顾反思一下,看看是否可以借鉴到微服务中呢p>


大叔在文中介绍了一下几种知名的架构思想:


  • Alistair Cockburn 的Hexagonal Architecture

  • Jeffrey Palermo 的 Onion Architecture

  • Screaming Architecture 在Bob 大叔的博客上

  • DCI 是 James Coplien, 和 Trygve Reenskaug提出的架构模型

  • BCE 是 Ivar Jacobson 在其著作 Object Oriented Software Engineering: A Use-Case Driven Approach 提出的


尽管这些架构在细节上有各种各样的不同,大叔认为是相似的,都有着相同的目标就是——关注点分离,通过关注点分离把软件分成若干层,系统都是这样的:


  1. 独立的框架。架构不依赖于功能丰富的软件库,把框架作为工具而不是系统的约束。

  2. 可测性. 商务逻辑可以不依赖TUI, 数据库, Web , 或其他外部元素就可以测试。

  3. 独立的UI. 无需改变系统的其他部分就可以轻松地改变,例如 一个 A Web UI 换成控制台UI,而无需改变业务逻辑。

  4. 独立的数据库.业务逻辑不与数据库绑定,可以在各种数据库间切换例如 Oracle 和SQL ,Mongo与 BigTable、 CouchDB等。

  5. 外部代理的独立性. 事实上,业务逻辑需要简化到无需知道外面的世界。


因此,大叔提出的简洁架构试图将这些架构集成为一种简单的表达形式。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年1月25日
下一篇 2017年1月25日

相关推荐