前言
之前写过一个设计模式系列 -- 小光的开店之路, 反响不错. 通过故事和类比的方式将之前的一些知识梳理岀来, 于己是一次知识体系化的过程, 于他能让大家更容易接收到知识点.
后来在跟大家讨论篮球战术的时候, 讲到一个观点:
篮球的一些战术, 归根结底我理解就是跑 挡 传 切. 这个就相当于是面向对象的几个原则, 战术就像是设计模式.. 模式不会用之前, 牢记原则.
觉得有必要从更底层的"跑 挡 传 切"的角度去梳理下自己对于面向对象设计的理解, 整理下自己之前的一些感悟, 然后就有了此文.
以此作为自己在OOD这颗知识体系树的补充, 也欢迎大家交流拍砖.
开篇
从小好看武侠, 总梦想有一天自己能如小说主角那般仗剑天涯, 快意恩仇, 行侠仗义, 四海为家.
然, 终究逃不过柴米油盐, 为三斗米折腰, 入凡尘, 成众生.
但, 梦想毕竟是心底火星, 虽未能起燎燃之势, 却也保有炽热之心. 遂想将日常所学作一"武学秘笈", 聊以自慰.
本系列文将以一派之"武学秘笈"视角, 写写自己对于面向对象编程设计的一点拙见. 主要分成三个部分, 从道-法-术三个层次分别阐述:
- 一为心法, 主要讲讲本派(面向对象)的基本价值观和认知;
- 二为内经, 从SOLID + LoD 六大OOD设计原则来讲下我派在代码设计上的基本原则;
- 三为招式, 讲讲GoF的23个设计模式(常用的). 分别从三个层级去讲, 取武学招式的
- "起式" -- 创建型
- "架式" -- 结构型
- "动式" -- 行为型
PS: 为方便记忆回顾, 每章都会总结为一张知识卡片的样式. 如下: