前言:笔者在最初写程序的时候,常会遇到一些状况。 例如:更改一个字段或者添加一种小功能,就要把原来写过的东西废弃,重新大量更改以前写过的代码; 回顾很久以前编写的代码,完全找不到当时为什么这么写的原因; 遇到了Bug,更是无法快速定位问题所在。
当你也遇到这类问题,就说明现阶段急需学习设计模式了。网上通常说的设计模式有23种,也有一些相关设计模式的变种。如果让笔者来形容什么是设计模式,我认为设计模式是:一种套路,一种模式,一种思想,一种解决问题的高效策略。
举个简单的列子:从A点到B点,有多种线路可供选择,每种线路都有自己的优缺点。如何基于需求选择适合自己的线路?通过运用设计模式这种思想,可以提供最优策略。
如有任何疑问可加QQ群:280873802,笔者看到会第一时间回复。
设计模式准则
设计模式之面向对象七大原则
一、创建型模式
创建型设计模式:不是直接使用 new 运算符实例化对象,而是一种创建对象的同时隐藏创建细节的方式。这使得程序在创建指定对象时更加灵活。
1.1.设计模式之简单工厂:构建的简单转移
1.2.设计模式之工厂方法:单个构建的转移
1.3.设计模式之抽象工厂:一套构建的转移
1.4.设计模式之原型模式:自身分裂与复制
1.5.设计模式之建造者模式:复杂装配流程的关注
1.6.设计模式之单例模式:独一无二
二、结构型模式
结构型设计模式:关注类和对象的组合。继承的概念被接口和组合对象所代替,使之获得新功能的方式。
2.1.设计模式之适配器模式:追求统一的补丁
2.2.设计模式之桥接模式:产品标准的制定
2.3.设计模式之装饰器模式:功能的动态添加
2.4.设计模式之组合模式:领导与跟随
2.5.设计模式之享元模式:共享
2.6.设计模式之代理模式:权限的控制
2.7.设计模式之门面模式:引导菜单
三、行为型模式
行为型设计模式:主要关注对象之间的通信。
3.1.设计模式之责任链模式:请求的传递
3.2.设计模式之状态模式:变身
3.3.设计模式之命令模式:布置与实行
3.4.设计模式之迭代器模式:A = A+1;
3.5.设计模式之中介者模式:中转站
3.6.设计模式之备忘录模式:版本控制
3.7.设计模式之策略模式:多策略跳转
3.8.设计模式之观察者模式:订阅喜欢的频道
3.9.设计模式之访问者模式:操作剥离与重新整合
3.10.设计模式之模板方法模式:按步骤执行
3.11.设计模式之解释器模式:转换与翻译
总结:
前前后后用了3个多月,终于把新版的设计模式写完了。当初打算重写设计模式是因为离职,有了较长时间可以整理学习,就萌发出重新写一套设计模式的想法。希望【设计模式全家】能够给大家带来帮助。
在不断学习的过程中,笔者发现能快速进步必须要有的四要素:
- 优秀的学习资料
- 适合自己的学习方法
- 对掌握知识的归纳总结(笔者用写博客的形式
费曼学习法
)- 每天前进一小步
太棒了!赞现在每天看一篇文章,希望能缩短与大佬的差距。hh