开篇:为什么要学设计模式?
很多同学一听到"设计模式"四个字就头大——23 种模式,每种又有好几个角色,背都背不完,学来有啥用?
先别急着背。换个角度想:你去宜家买家具,说明书上画的那些"先插 A 孔再拧 B 螺丝"的步骤图,就是一种"模式"。它不是让你死记硬背,而是前人踩了无数次坑之后,总结出来的最省力的组装方式。
设计模式也一样。它不是语法,不是 API,而是一套解决特定问题的经验套路。当你的代码出现以下症状时,设计模式就是那张"说明书":
- 改一个需求要动十几个文件 → 你需要了解开闭原则
- 一个类又管数据库又管发短信又管日志 → 你需要了解单一职责原则
- 到处都是
if-else在判断类型 → 你需要了解策略模式 - 创建对象的代码复制粘贴了五遍 → 你需要了解工厂模式
大约 11 分钟