Day 29: 细节:资料库、Web、框架 (待改进中... )

「从架构的角度来看,资料库是一个非实体 — 它与软件系统架构之间的关系就像门把与你家的架构那样」

「许多资料存取框架允许将资料库的列及资料表作为物件在系统中传递。允许这样做是一个架构上的错误。它将使用案例、业务规则、甚至将 UI 与资料的关联式结构给联系起来了」

取自: Clean Architecture (p.229)

CH30: 资料库是细节

为什麽资料库系统如此普遍?

  • Document-Based
  • Content-Based

思考: 如果没有磁碟怎麽办?

资料结构...

作者的故事 (原文: 轶事)

离职当顾问...


CH31: Web是细节

Web 演进史 (原文: 无休止的钟摆)

  • 中央 vs. 分散
  • SSR vs. CSR

案例:桌面财务应用程序

Desktop -> Web -> Desktop

小结

「GUI 是个细节,Web 是一个 GUI,所以 Web 是一个细节。作为架构师,你希望将这样的细节放在边界之外,使它们与核心业务逻辑分开」

「请这样思考:Web是一个IO设备

取自: Clean Architecture (p.237)


CH32: 框架是细节

「事实上,框架开发者是在要求你与框架结婚 — 对该框架做出巨大的长期承诺」

「面对框架时,不要立即就冲动地与之结婚

取自: Clean Architecture (p.240)

框架的开发者

不对称的婚姻

我现在宣布你们


P.S. 读这章的时候不知道为何一直让笔者很想笑,用 "Marriage" 这一词来比喻框架实在很贴切 (笑)

Reference


<<:  day29: functors

>>:  DAY29:开启API服务(完赛)

[Vue.js] 基本语法

(以下文章适用於Vue.js 2.X版本) Vue.js 官方手册 起手式 引入 Vue.js ne...

资安学习路上-picoCTF 解题(General) 1

最近开始打CTF,决定从最简单的picoCTF 开始,有解决一些题目,觉得有几题蛮有趣的想插播跟大家...

铁人赛 Day9 -- 一定要知道的 CSS (六) -- background-color/background-image

前言 背景是一个如此重要的东西,你能想像萤幕的话棉全都是白底或黑底吗!!当然不行啊!! backgr...

IOS Swift 还能更精简? Closure的其它用法你一定要知道!!

前言: 屁屁痛了一整晚昨天全程跪着打文章,都这样了你们该进来看一下了吧,顺带一提如果有对Swift其...

Day 16 - 卷积神经网络 CNN (1)-壹页AI战国史

历史重要性 CNN历史已发生,为何要花时间了解它?个人认为了解CNN历史可以让我们选择以同方式解决不...