喔家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 提出的
尽管这些架构在细节上有各种各样的不同,大叔认为是相似的,都有着相同的目标就是——关注点分离,通过关注点分离把软件分成若干层,系统都是这样的:
-
独立的框架。架构不依赖于功能丰富的软件库,把框架作为工具而不是系统的约束。
-
可测性. 商务逻辑可以不依赖TUI, 数据库, Web , 或其他外部元素就可以测试。
-
独立的UI. 无需改变系统的其他部分就可以轻松地改变,例如 一个 A Web UI 换成控制台UI,而无需改变业务逻辑。
-
独立的数据库.业务逻辑不与数据库绑定,可以在各种数据库间切换例如 Oracle 和SQL ,Mongo与 BigTable、 CouchDB等。
-
外部代理的独立性. 事实上,业务逻辑需要简化到无需知道外面的世界。
因此,大叔提出的简洁架构试图将这些架构集成为一种简单的表达形式。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!