跳转至

软件工程核心知识

学习目标:从"写代码的人"升级到"做工程的人"——解决的不是"代码能不能跑",而是"系统能不能长期演进、团队能不能高效协作"

检验标准:学完每个模块后,能口述"这个理论解决了什么问题?不用它会怎样?工作中如何落地?"


整体知识地图

mindmap
    root((软件工程核心))
        设计原则
            SOLID 五大原则
            DRY 不重复
            KISS 保持简单
            YAGNI 不过度设计
        架构设计
            单体架构
            微服务架构
            DDD 领域驱动
            CAP 理论
        代码质量
            代码坏味道识别
            重构手法
            测试金字塔
        工程实践
            CI/CD 持续集成
            监控与可观测性
            系统设计方法论

知识点导航

# 知识点 核心一句话 详细文档
01 SOLID 原则 OCP 是核心目标,其他四条是实现手段;SRP 一个类只做一件事 SOLID原则
02 软件架构演进 初创用单体,团队 > 10 人再考虑微服务拆分 软件架构演进
03 DDD 领域驱动设计 复杂业务用充血模型,简单 CRUD 用贫血模型;聚合根保证一致性 DDD领域驱动设计
04 CAP 理论与 BASE 理论 网络分区客观存在(P 不可放弃),只能在 C 和 A 之间权衡 CAP理论与BASE理论
05 代码质量与重构 方法 > 20 行、类 > 200 行、相同代码出现 3 次就该重构 代码质量与重构
06 CI/CD 持续集成与交付 自动化流水线保证质量,蓝绿/金丝雀/滚动发布降低风险 CICD持续集成与交付
07 系统设计方法论 需求澄清 → 容量估算 → 架构设计 → DB 设计 → 接口设计 → 扩展性 系统设计方法论

高频问题索引

问题 详见
SOLID 哪条最重要?各自解决什么问题? SOLID原则
微服务 vs 单体如何选型? 软件架构演进
贫血模型 vs 充血模型?限界上下文怎么划分? DDD领域驱动设计
CAP 中 P 为何不可放弃?BASE 理论是什么? CAP理论与BASE理论
何时需要重构?常见代码坏味道有哪些? 代码质量与重构
系统设计面试如何答题? 系统设计方法论

一句话口诀

SOLID 是设计准则,DDD 是业务建模,CAP 是分布式选型,CI/CD 是工程实践,测试金字塔是质量保障。