笔记 F:设计工程与体系结构

Chief Architect's Note (首席架构师按): 新手工程师总想尽快跳过设计去敲代码(或按 Tab 让 AI 生成代码),这就像不画图纸就直接去砌砖一样危险。代码只是设计的具象化表达,真正的工程功底在于你如何通过模块的拆分与连接,把一个无限复杂的现实问题,降维成几组清晰优雅的逻辑骨架。

模块一:设计工程原则 (Design Concepts)

设计不是天马行空的艺术,而是一门有着严密指导原则的工程学科。以下五个原则是构建一切坚固系统的基石:

模块二:内聚与耦合 (Cohesion & Coupling)

内聚与耦合是评估模块功能独立性的两个核心定性指标。

模块三:体系结构设计 (Architectural Design)

体系结构(架构)是系统的顶层视图,决定了所有组件将以何种风格 (Styles) 被组织在一起。


核心思维维度

[Core Concept]

架构设计在处理“系统复杂性”时的核心本质是:通过划定清晰的物理与逻辑边界(模块与接口),将全局的无限复杂性“降维”分割成局部可控的有限复杂性。

[Engineering Mindset]

[AI-Era Mapping]

[Memory Trigger]


特别模块:架构师的 Cursor 重构指令集

当你的代码库在 AI 的快速生成下变得臃肿(通常表现为一个上千行的超大 Controller 或 Service),请使用以下指令集强迫 Cursor 执行架构级重构:

# [Cursor 重构指令]:架构师的“高内聚低耦合”手术刀

**Target File**: `@臃肿的业务逻辑.ts`

**Context & Persona**:
你现在是一位精通 SOLID 原则和软件体系结构的首席工程师。当前文件由于缺乏设计,充满了高耦合、低内聚的代码,技术债务严重。

**Task**: 请按照以下架构设计原则,对代码进行无情重构:

1. **[应用信息隐蔽 (Information Hiding)]**:
   识别并提取出文件中所有的底层第三方 API 调用(如数据库查询、外部 HTTP 请求),将它们封装到独立的 Repository 或 Adapter 模块中。当前文件不允许直接接触这些底层数据结构。

2. **[执行模块化拆分 (Modularity)]**:
   应用“单一职责原则”。当前文件显然在做超过 3 件事。请将它拆分为主控模块 (Controller) 和多个单一目的的工作模块 (UseCases/Services)。

3. **[降低耦合度 (Low Coupling)]**:
   移除模块间硬编码的依赖关系。使用“依赖注入 (Dependency Injection)”或定义清晰的抽象接口 (Interfaces) 将控制流解耦。主程序只应知道子程序的接口,不应知道其内部算法。

4. **[输出要求]**:
   不要直接给我一坨新代码。先向我输出一个重构方案的 **Layered Architecture (层次化结构) 树状图**。在我确认架构无误后,再分步骤输出每个被拆分出来的模块代码。

结合这套底层思维,AI 将不再是你制造“代码垃圾”的加速器,而是你构建恢弘系统的超级工程队。


下一章:software-02-G:从微观组件到人机交互的艺术
首页:Software Engineering MOC