docs: restore software paradigm evolution guide

This commit is contained in:
tukuaiai
2026-05-03 02:08:35 +08:00
parent 9eac58c54c
commit 1cbf3956d5
4 changed files with 23 additions and 23 deletions
+22
View File
@@ -0,0 +1,22 @@
# 软件开发范式演进
软件开发范式的演进可以概括为一组随工程复杂度提升而逐步形成的设计思想与组织方式,而非严格的历史线性阶段或全球统一的标准分期。
## 主要演进方向
1. **面向过程编程**
以执行流程为核心,将代码按照步骤、函数和过程进行组织,强调程序逻辑的顺序性与可执行性。
2. **面向对象编程**
将数据与行为封装为对象,通过类、对象、继承、多态等机制组织系统结构,提高代码的封装性、复用性和可维护性。
3. **面向接口与抽象编程**
强调模块应依赖接口或抽象,而非直接依赖具体实现类,以降低模块间耦合度,提升系统的扩展性与可替换性。
4. **组件化、分层架构与依赖注入**
将系统拆分为职责明确、边界清晰、可组合和可替换的模块或组件,并通过分层设计和依赖注入机制管理模块间关系,增强系统的结构化程度和可维护性。
5. **服务化、微服务与云原生架构**
在模块化基础上,将系统进一步拆分为可独立开发、部署、扩展和运维的服务单元,并结合云原生理念提升系统的弹性、可扩展性和工程协作效率。
上述内容并不表示软件开发存在固定、统一或严格递进的阶段划分。不同范式和架构思想往往并存,并会根据项目规模、业务复杂度、团队协作方式和技术环境被组合使用。
-21
View File
@@ -55,27 +55,6 @@
- 讲需求,不讲步骤
- 从命令式 → 声明式 → 意图式
## 范式演进补充
软件开发范式的演进,不是严格的历史阶段,也不是全球统一的标准分期,而是一组随工程复杂度提升逐步形成的设计思想与组织方式。
1. **面向过程编程**
以执行流程为核心,将代码按照步骤、函数和过程组织,强调程序逻辑的顺序性与可执行性。
2. **面向对象编程**
将数据与行为封装为对象,通过类、对象、继承、多态等机制组织系统结构,提高封装性、复用性和可维护性。
3. **面向接口与抽象编程**
模块依赖接口或抽象,而不是直接依赖具体实现,以降低耦合,提升扩展性与可替换性。
4. **组件化、分层架构与依赖注入**
将系统拆成职责明确、边界清晰、可组合和可替换的模块,并通过分层设计和依赖注入管理模块关系。
5. **服务化、微服务与云原生架构**
在模块化基础上,将系统进一步拆分为可独立开发、部署、扩展和运维的服务单元,并结合云原生提升弹性、扩展性与协作效率。
这些范式并不互斥。不同范式和架构思想会根据项目规模、业务复杂度、团队协作方式和技术环境被组合使用。
---
# 4. 设计原则:保持秩序的规则
+1
View File
@@ -15,6 +15,7 @@
### 软件工程基础
- [问题求解能力](../concepts/问题求解能力.md) - 目标、现状、差距、标准与反馈迭代的底层能力
- [问题分析与系统构建方法](../concepts/问题分析与系统构建方法.md) - 自顶向下、自底向上与分而治之的组合使用
- [软件开发范式演进](../concepts/软件开发范式演进.md) - 从面向过程到云原生的工程组织方式演进
### 工程实践
- [工程实践](工程实践.md) - 项目架构、代码组织、开发经验、底层程序逻辑、AI 编程质量门禁与常见坑的统一入口
-2
View File
@@ -11,8 +11,6 @@ redirects:
to: docs/philosophy/思维模型.md
- from: docs/concepts/编程之道.md
to: docs/philosophy/编程之道.md
- from: docs/concepts/软件开发范式演进.md
to: docs/philosophy/编程之道.md
- from: docs/concepts/A Formalization of Recursive Self-Optimizing Generative Systems.md
to: docs/concepts/递归自优化生成系统形式化.md
- from: docs/philosophy/现象学还原.md