编程进阶网 编程进阶网
首页
  • 在线工具
  • JSON工具
  • 文本工具
  • 图片处理
  • 文档转化
  • 代码压缩
  • 加解密
  • 时间日期
  • 网络工具
  • 颜色设计
  • 二维码
  • 开发实用
  • 计算机的原理
  • 操作系统原理
  • 网络协议原理
  • 数据库的原理
  • 序卷导读
  • 数据本质
  • 运行模型
  • 并发设计
  • 内存真相
  • 交互系统
  • 面向对象
  • 设计原则
  • 设计模式
  • 系统架构
  • 技能之旅
  • 体系建设
  • 代码品质
  • 方案设计
  • 稳定可靠
  • 工程运维
  • 性能优化
  • 数据结构导论
  • 线性结构详解
  • 树哈希结构论
  • 容器设计实战
  • 经典算法思想
  • 工程案例剖析
  • 算法题库精练
  • C语言入门
  • C综合案例
  • C专栏博客
  • C标准集库
  • C++入门教程
  • C++综合案例
  • C++专栏博客
  • C++编程技巧
  • Java入门教程
  • Java综合案例
  • Java专栏博客
  • Go入门教程
  • Go综合案例
  • Go专栏博客
  • Go开发技巧
  • JavaScript入门
  • JavaScript案例
  • JavaScript高级
  • Kotlin精通
  • Android库解读
  • Android专栏
  • iOS ObjC入门
  • iOS Swift入门
  • iOS入门精通
  • Web之Html手册
  • Web之TypeScript
  • Web之Vue高级进阶
  • Linux之QML入门
  • Linux之QT核心库
  • Python教程
  • Shell&Bash教程
  • 工具脚本
  • 自动化脚本
  • 质量保障
  • 产品思考
  • 软实力
  • 开发流程
  • Git应用
  • 技术模版
  • 技术规范
  • Markdown
  • Mermaid
  • 开源协议
  • 毛选解读
  • 自我精进
  • 关于我
  • 自我精进
  • 职场管理
  • 职场面试
  • 心情杂货
  • 友情链接

杨充

专注编程 · 终身学习者
首页
  • 在线工具
  • JSON工具
  • 文本工具
  • 图片处理
  • 文档转化
  • 代码压缩
  • 加解密
  • 时间日期
  • 网络工具
  • 颜色设计
  • 二维码
  • 开发实用
  • 计算机的原理
  • 操作系统原理
  • 网络协议原理
  • 数据库的原理
  • 序卷导读
  • 数据本质
  • 运行模型
  • 并发设计
  • 内存真相
  • 交互系统
  • 面向对象
  • 设计原则
  • 设计模式
  • 系统架构
  • 技能之旅
  • 体系建设
  • 代码品质
  • 方案设计
  • 稳定可靠
  • 工程运维
  • 性能优化
  • 数据结构导论
  • 线性结构详解
  • 树哈希结构论
  • 容器设计实战
  • 经典算法思想
  • 工程案例剖析
  • 算法题库精练
  • C语言入门
  • C综合案例
  • C专栏博客
  • C标准集库
  • C++入门教程
  • C++综合案例
  • C++专栏博客
  • C++编程技巧
  • Java入门教程
  • Java综合案例
  • Java专栏博客
  • Go入门教程
  • Go综合案例
  • Go专栏博客
  • Go开发技巧
  • JavaScript入门
  • JavaScript案例
  • JavaScript高级
  • Kotlin精通
  • Android库解读
  • Android专栏
  • iOS ObjC入门
  • iOS Swift入门
  • iOS入门精通
  • Web之Html手册
  • Web之TypeScript
  • Web之Vue高级进阶
  • Linux之QML入门
  • Linux之QT核心库
  • Python教程
  • Shell&Bash教程
  • 工具脚本
  • 自动化脚本
  • 质量保障
  • 产品思考
  • 软实力
  • 开发流程
  • Git应用
  • 技术模版
  • 技术规范
  • Markdown
  • Mermaid
  • 开源协议
  • 毛选解读
  • 自我精进
  • 关于我
  • 自我精进
  • 职场管理
  • 职场面试
  • 心情杂货
  • 友情链接
  • README
  • 面向对象设计

    • 0.面向对象设计导航
      • 1.🎯 这个专栏特色
      • 2.📚 阅读路径
      • 3.📖 章节列表
      • 4.🎬 主线案例12次演化
      • 5.🎓 你将学到什么
      • 6.👥 适合人群
      • 7.🔗 配套延伸
      • 8.快速总结
        • 一句话定位每一篇
        • 八个能力层与对应篇目
        • 主线案例 12 次演化
    • 1.面向对象设计思想
    • 2.面向对象特性思考
    • 3.接口vs抽象类比较
    • 4.接口而非实现编程
    • 5.多用组合和少继承
    • 6.设计原则的全景图
    • 7.SOLID原则案例汇
    • 8.反模式与坏味道
    • 9.重构十二式的实战
    • 10.可测试性实战设计
    • 11.DDD与战术的建模
    • 12.综合实战图片框架
    • 13.面向对象快速总结
  • 常见设计原则

  • 巧学设计模式

  • 系统架构设计

  • 程序员精进路

  • 编程
  • 面向对象设计
杨充
2022-01-03
目录

0.面向对象设计导航

# 00.面向对象设计导航

一条主线、十二篇文章、一个真实可跑的电商订单系统,从对象的本质到业务的本质,由浅入深、案例贯穿、Mermaid 图加深理解。


# 1.🎯 这个专栏特色

市面上的面向对象专栏大多是"教科书式精炼",你读完会同意,但不会被震撼,也不会想立刻去重构自己的代码。

本专栏做了三件市面少见的事:

差异点 我们怎么做
沉浸式开篇 每一篇都从一次真实事故开篇,不是讲定义,是讲翻车
探索式论证 不直接给结论,用"假设 → 反驳 → 实证 → 升华"的推理过程让你"看见思考"
连续剧式综合案例 11 篇共用一条主线:电商订单系统从 0 到 DDD 的完整演化,读完即拥有一个真实系统

# 2.📚 阅读路径

flowchart LR
    一[01 思想<br/>对象 vs 过程] --> 二[02 特性<br/>四大基石]
    二 --> 三[03 接口vs抽象类<br/>选哪个]
    三 --> 四[04 接口编程<br/>不锁死实现]
    四 --> 五[05 组合vs继承<br/>避开继承陷阱]
    五 --> 六[06 设计原则<br/>SOLID 全景]
    六 --> 七[07 SOLID 案例汇<br/>实战滥用与正用]
    七 --> 八[08 坏味道大全<br/>30+ 病历卡]
    八 --> 九[09 重构十二式<br/>把烂代码救回来]
    九 --> 十[10 可测试性设计<br/>OOP 的硬验收]
    十 --> 十一[11 DDD 战术建模<br/>从代码到业务]
    十一 --> 十二[12 综合实战<br/>图片框架实现]
    十二 -.闭环.-> 一

# 3.📖 章节列表

# 章节 主题 关键案例 关键图表
01 面向对象设计思想 (opens new window) 范式之别 双 11 雪崩订单系统 网状 vs 线性流程图
02 面向对象的特性 (opens new window) 封装/抽象/继承/多态 钱包余额对不上排查 vtable 内存布局图
03 接口vs抽象类比较 (opens new window) 何时选哪个 日志器 47 次改动复盘 决策树、模板时序图
04 接口而非实现编程 (opens new window) 依赖抽象不依赖具体 云迁移 6 万行连锁修改 三步重构演化图
05 多用组合和少继承 (opens new window) 继承陷阱与组合优雅 企鹅会飞继承翻车 类爆炸 vs 正交组合
06 设计原则全景图 (opens new window) SOLID + 23 模式 8000 行上帝类失控 SOLID 关系图
07 SOLID 原则案例汇 (opens new window) ⭐ SOLID 在战场上 团队三年 SOLID 之争 滥用现场扫描图
08 反模式与坏味道 (opens new window) ⭐ 30+ 嗅觉清单 PR 被驳回 17 次 坏味道地图
09 重构十二式实战 (opens new window) 12 个最常用手法 1200 行结算函数救援 重构节奏循环
10 可测试性设计 (opens new window) ⭐ OOP 的硬验收 95% 覆盖率上线即崩 测试金字塔
11 DDD 与战术建模 (opens new window) ⭐ 从代码到业务 需求文档 70% 失真 限界上下文图
12 综合实战图片框架 (opens new window) ⭐ 完整系统实现 图片处理系统实战 完整架构图

# 4.🎬 主线案例12次演化

每篇都在前一篇的基础上演化,读完全栏,你就拥有一个真实可运行的"电商订单+支付+风控+营销"系统。

flowchart LR
    P1[01 订单总价<br/>裸过程式版] --> P2[02 钱包<br/>封装版]
    P2 --> P3[03 日志器<br/>抽象类版]
    P3 --> P4[04 支付渠道<br/>接口版]
    P4 --> P5[05 商品类型<br/>组合版]
    P5 --> P6[06 SOLID<br/>重排版]
    P6 --> P7[07 SOLID<br/>实战版]
    P7 --> P8[08 坏味道<br/>扫除版]
    P8 --> P9[09 重构十二式<br/>洗牌版]
    P9 --> P10[10 可测试<br/>注入版]
    P10 --> P11[11 DDD<br/>限界上下文版]
    P11 --> P12[12 综合实战<br/>图片框架版]

每篇结尾会留下一段"半成品代码",作为下一篇综合案例的起点。你将像看连续剧一样,亲眼看着一个粗糙脚本演化为一个工程级系统。


# 5.🎓 你将学到什么

flowchart TB
    A[语言层<br/>对象怎么写] --> A1[01-02 思想+特性]
    B[结构层<br/>对象怎么连] --> B1[03-05 接口/抽象类/组合]
    C[原则层<br/>写得对] --> C1[06-07 SOLID 全景+案例汇]
    D[识别层<br/>看得出错] --> D1[08 坏味道大全]
    E[修复层<br/>救得回] --> E1[09 重构十二式]
    F[验收层<br/>测得动] --> F1[10 可测试性设计]
    G[业务层<br/>建得对] --> G1[11 DDD 战术建模]
    H[实战层<br/>完整实现] --> H1[12 综合实战图片框架]
层次 核心能力 对应篇目
语言层 对象、类、四大特性的本质 01-02
结构层 用接口、抽象类、组合连接对象 03-05
原则层 SOLID 在真实战场的滥用与正用 06-07
识别层 30+ 坏味道的嗅觉训练 08
修复层 12 式安全重构 09
验收层 让设计可被测试验证 10
业务层 用 DDD 表达业务而非数据 11
实战层 完整系统实现与架构设计 12

# 6.👥 适合人群

人群 收获
0-3 年工程师 建立对象式心智模型,写出"不被未来打脸"的代码
3-5 年工程师 识别已有项目的坏味道,用 SOLID 与重构手法救活遗留代码
架构师/Tech Lead 用 DDD 与限界上下文重塑业务建模,统一团队语言
面试备战者 学会用真实事故案例阐述 OOP,超越教科书答法

# 7.🔗 配套延伸

方向 推荐
23 种设计模式 设计模式实战 (opens new window)
架构思想 DDD、整洁架构、六边形架构(详见第 11 篇)
重构进阶 Martin Fowler《重构》、Kent Beck《实现模式》
编程进阶网站 yccoding.com (opens new window)

# 8.快速总结

12 篇主线一站式速览。每篇一张"速通卡":遇到什么场景 → 暴露什么问题 → 核心矛盾 → 核心知识 → 演变路径 → 加深理解。

# 一句话定位每一篇

flowchart LR
    P01[01 思想<br/>对象 vs 过程] --> P02[02 特性<br/>封装/抽象/继承/多态]
    P02 --> P03[03 接口 vs 抽象类<br/>选哪个]
    P03 --> P04[04 面向接口编程<br/>依赖抽象]
    P04 --> P05[05 组合优于继承<br/>能力可装配]
    P05 --> P06[06 SOLID 全景<br/>五条骨架]
    P06 --> P07[07 SOLID 案例汇<br/>滥用与正用]
    P07 --> P08[08 反模式与坏味道<br/>30+ 病历卡]
    P08 --> P09[09 重构十二式<br/>救回烂代码]
    P09 --> P10[10 可测试性<br/>OOP 的硬验收]
    P10 --> P11[11 DDD 战术建模<br/>代码表达业务]
    P11 --> P12[12 综合实战<br/>图片框架 V0→V5]
    P12 -.闭环.-> P01

# 八个能力层与对应篇目

层次 核心能力 对应篇
语言层 对象/类/四大特性 01-02
结构层 接口/抽象类/组合 03-05
原则层 SOLID 全景与战场 06-07
识别层 30+ 坏味道 08
修复层 12 式重构 09
验收层 可测试性 10
业务层 DDD 与限界上下文 11
实战层 完整框架演化 12

# 主线案例 12 次演化

flowchart LR
    V1[01 订单总价<br/>过程式裸版] --> V2[02 钱包<br/>封装版]
    V2 --> V3[03 日志器<br/>接口+抽象类]
    V3 --> V4[04 支付渠道<br/>依赖接口]
    V4 --> V5[05 商品体系<br/>能力组合]
    V5 --> V6[06 订单中台<br/>SOLID 重排]
    V6 --> V7[07 风控接入<br/>SOLID 实战]
    V7 --> V8[08 坏味道<br/>30+ 扫除]
    V8 --> V9[09 退款风暴<br/>12 式重构]
    V9 --> V10[10 注入版<br/>可测改造]
    V10 --> V11[11 限界上下文版<br/>DDD 重塑]
    V11 --> V12[12 图片框架<br/>V0→V5 大综合]
#面向对象设计
上次更新: 2026/07/24, 16:37:02
README
1.面向对象设计思想

← README 1.面向对象设计思想→

最近更新
01
audit
07-27
02
C++入门教程全章思考题汇编
07-24
03
12.技术团队建设能力
07-21
更多文章>
Theme by Vdoing | Copyright © 2019-2026 杨充 | MIT License | 鄂ICP备2024073355号-1 | 鄂ICP备2024073355号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式