CHARLIE SAYS

查理如是说
DATE 2026-08-24
THEME
SERIES / ENGINEERING / P-121 · 软件工程方法论

软件工程 001:常见开发理论

在软件开发中,前人对软件系统的设计和开发总结了一些理论和原则。不管用什么语言做开发,它们都对系统设计和开发提供指导意义。本系列先从这些经典理论开始,再展开开发模型、敏捷实践与代码规范。

软件开发中的原则 - SOLID

前人对软件系统的设计和开发总结的原则和模式,是面向对象设计的基石。详见 软件开发中的原则 - SOLID(已归入设计模式系列)。

事务理论 - ACID

一个事务有四个基本特性,即常说的 ACID

  • Atomicity(原子性):事务是一个不可分割的整体,事务内所有操作要么全做成功,要么全失败
  • Consistency(一致性):事务执行前后,数据从一个状态到另一个状态必须是一致的(A 向 B 转账,不能出现 A 扣了钱,B 却没收到)
  • Isolation(隔离性):多个并发事务之间相互隔离,不能互相干扰
  • Durability(持久性):事务完成后,对数据库的更改是永久保存的,不能回滚

详见 事务理论 - ACID

分布式理论 - CAP

CAP 理论是分布式系统、特别是分布式存储领域中被讨论得最多的理论:

  • C 一致性(Consistency)
  • A 可用性(Availability)
  • P 分区容错性(Partition tolerance)

CAP 理论告诉我们:C、A、P 三者不能同时满足,最多只能满足其中两个。详见 分布式理论 - CAP

分布式理论 - BASE

BASE 是 Basically Available, Soft state, Eventually consistent(基本可用、软状态、最终一致性)的首字母缩写。其中的软状态和最终一致性这两种技巧擅于对付存在分区的场合,并因此提高了可用性。详见 分布式理论 - BASE

微服务基础 - 康威定律

微服务这个概念很早就提出了,真正火起来是在 2016 年左右,而康威定律(Conway’s Law)就是微服务的理论基础:系统架构会映射组织的沟通结构。详见 微服务基础 - 康威定律

系列导航

理论之后,本系列继续展开:

  • 开发模型:瀑布、原型、螺旋,到 V/W/X 模型与中小团队开发流程
  • 敏捷与精益:Scrum / Kanban / XP / TDD / DDD
  • 代码规范:阿里手册、Google 与 Twitter 风格指南
← 设计模式 001:设计模式知识体系详解 目录 Java 基础 001:面向对象 →
← 返回文章列表