Day 27: 架构的声音、整洁的架构 (待改进中... )

你的应用程序架构尖叫了什麽呢? 当查看最高层目录结构和 package 中的原始码档案时,他们是否会尖叫『医疗保健系统』或『会计系统』或『库存管理系统』? 还是它们会尖叫『Rails』,或『Spring/Hibernate』或『ASP』?」

「当新的程序设计师看到 Repository 时,第一印象应该是『哦,这是一个医疗保健系统』。那些新的程序设计师能够学习系统所有的使用案例,但依然不知道系统会被如何交付」

取自: Clean Architecture (p.164 & p.166)

CH21: 架构的声音 (原文: Screaming Architecture)

...

架构的主题

架构的目的

框架是工具,不是存在的方式

...

你的架构应该告诉读者关於这个系统的事,而不是你使用的框架

取自: Clean Architecture (p.166)

可测试的架构


CH22: 整洁的架构

  • 六角形架构 (Hexagonal Architecture)
    https://ithelp.ithome.com.tw/upload/images/20211011/20138643cHz7WvHK0I.png
    • 简述...
      P.S. 六角形架构自 Alistair Cockburn 於 2005 年提出,发展至今已经衍生许多的变体,这边仅单纯放上一张原图供读者感受
  • Data Context Interaction (DCI)
    寻找图片中...
    • 简述...
  • Boundary-Control-Entity (BCE)
    https://ithelp.ithome.com.tw/upload/images/20211011/201386437V7mm2RGId.png
    • 简述...
  • Uncle Bob's Style
    https://ithelp.ithome.com.tw/upload/images/20211011/20138643Kgy4yy8C1M.jpg
    • 本书重点...

特徵

...

依赖规则

实体层

使用案例层

介面转接层

框架和驱动层

跨越边界

经典案例:一个采用资料库的 Web 系统

整理中...


Reference

神秘的六角形架构
Hexagonal architecture
Boundary Control Entity Architecture: The Pattern to Structure Your Classes


<<:  DAY27:GCP架设VM

>>:  Day27 ATT&CK for ICS - Collection(3)

.NET Core第11天_Controller定义_附加属性_资料接收方式_返回View方式

藉由前几篇简单操作得知网址路由寻访 可以跳至Controller做相应Action Method执行...

最短路径问题 (2)

10.3 几个简单的 Leetcode 例题 如果边的权重都相等,那麽使用 BFS 就可以为我们找出...

You can't always get what you want

其实今天是想延续昨天继续讨论「每个专案的程序码都该这样开始」,为什麽会变成这个标题? 因为我写的每篇...

Day27. Stimulus 与非同步处理 - Ajax 的更优雅写法

我们在 Day21 提到 data-remote=true、Day25 提到了一些与Ajax 相关的...

Day-19 This

this 可说是 JavaScript中最复杂的概念,它是一个内部物件,代表函式(function)...