🐳 第八章 设计自己的Harness
📄 一句话概括

件越多,越需要一套【谁能在哪一层动什么】的规矩——边界不是生态的对立面,是生态能长这么大的前提。

📝 本节和前面几节的关系

8.4 讲清了预设与权限的分界,这一节把视角拉开:整个生态都靠边界撑着。

一、把数字摆出来

四个数字指向同一件事:这是一个有纪律的大摊子。

二、为什么件一多就必须有边界

183 件摆在一棵树上,任何一件出问题,都要能回答三个问题:

没有边界,这三个问题一个都答不上来。

三、边界是怎么长出来的

本课见到的几种:

四种都不是限制功能,而是让功能敢装上去。

四、一个类比

19 课《网络与信息安全》的 6-2 安全性相关的改进举措 讲过: 安全不是买某个产品,而是把计划—执行—检查—改进做成循环。

插件生态的边界也是同一回事:不是加一道闸门,而是把【谁能动什么】写成常年在用的规矩。

五、动手 Demo:生态越强,边界越要紧

本章用到的那棵树,数字摆出来:

n = {"顶层注册项": 183, "带上启停条件": 58,
     "隔离分组": 10, "改动出处": 26}
for k, v in n.items():
    print("  %-6s %d" % (k, v))
print("  件越多, 越需要【谁能在哪一层动什么】的规矩")

实跑输出:

--------------------------------------------------------------------
生态越强,边界越要紧
--------------------------------------------------------------------
  本章用到的那棵树,数字摆出来:

  观测项               数值                            它意味着什么
  ------------------------------------------------------------------------
  顶层注册项           183                             可装卸的件这么多
  带上启停条件的件     58 条 disabled/20 处有条件     装不装要算条件
  隔离分组             10 处 cordis:group              组内可见、组外不见
  改动出处             26 处来源注释                   每个改动都留了名
  自增一行             本轮插入第五套 → +22 行         加东西只需加配置
  ------------------------------------------------------------------------

  **件越多,越需要一套【谁能在哪一层动什么】的规矩**。
  边界不是生态的对立面,是生态能长这么大的前提。

四个数字指向同一件事:这摊子是有纪律的。 四种边界形态(平面/作用域/生命周期/出处)都不是限制功能,而是让功能敢装上去。 边界不是生态的对立面——是生态能长这么大的前提。

30 秒实验

  1. 在你的配置里任挑三件,回答【属于哪层/活多久/撤下算谁的账】。
  2. 找一处 isolate 分组,看它把哪几件圈在了一起。
  3. 想想你的项目里,有没有【装了很多但没人说得清为什么在】的件。

常见误区

  1. 错误:边界多会拖慢开发。——纠正:边界是让功能敢装上去的前提——没有边界,每加一件都是在赌。
  2. 错误:小项目不需要边界。——纠正:今天小不代表明天小——本课第 5 章整章都在讲【会话高频生灭让漏一次成为必然】。
  3. 错误:边界就是权限。——纠正:权限只是边界的一种——平面、作用域、生命周期、出处都是边界,而且比权限管得更宽。
自测三问(点开对答案) 1. 本章用到的四个生态数字是什么? —— 顶层注册项 **183**、带启停条件 **58**、隔离分组 **10**、改动出处注释 **26**。 2. 本课见到的四种边界形态? —— **平面**(宿主/会话)、**作用域**(isolate 格子)、**生命周期**(装/在场/撤记账)、**出处**(改动署名)。 3. 为什么说边界不是生态的对立面? —— 因为**边界让功能敢装上去**——没有【谁能在哪一层动什么】,每加一件都是赌。

相关笔记