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)

[Day 2] -『 GO语言学习笔记』- GO语言简介

GO语言简介 Go(Golang)是Google开发的一种语言。2007年,Google设计Go原先...

[Day12] Esp32s用AP mode + LED - (认识序列埠监控视窗&程序码讲解)

1.前言 看完上一篇的利用Esp32s的AP mode控制LED灯了吧,是不是觉得很神奇阿,那本篇会...

[想试试看JavaScript ] 浏览器里的 Javascript

在网页里会碰到的 Javascript 语法,大约分成三个部分 Javascript (以 ECMA...

Day20-pytorch(3)设置model、使用pytorch设置loss function及updata参数

我们透过简单的regression来认识如何设置model及如何使用pytorch设置loss fu...

Day 3 : Git 回推版本

reset 回推 使用Git的一大好处就是,当我的程序在改动的过程中发生了难以修复的错误,我们可以透...