什么是设计模式
在软件设计过程中,针对特定问题的简介而优雅的解决方案
经验总结→合理运用→解决问题
SOLID五大设计原则
- S单一职责原则:一个程序只做好一件事
- O开放封闭原则:对扩展开放,对修改封闭
- L里氏置换原则:子类能覆盖父类,并能出现在父类出现的地方
- I接口独立原则:保持接口的单一独立
- D依赖导致原则:使用方法只关注接口而不关注具体类的体现
设计模式的特点:
01.易读性
使用设计模式能够提升代码的可读性,提升后续开发效率
02.可拓展性
使用设计模式对代码解耦,能很好地增强代码的易修改性和扩展性
03.复用性
使用设计模式可以重用已有的解决方案,无需再重复相同工作
04.可靠性
使用设计模式能够增加系统的健壮性,使代码编写真正工程化
常见设计模式
单例模式|策略模式|代理模式|发布订阅模式|命令模式|组合模式|装饰器模式|适配器模式
单例模式
定义:
唯一&全局访问。保证一个类仅有一个实例,并提供一个访问它的全局访问点。
应用场景:
能被缓存的内容,例如登陆弹窗
策略模式
定义:
定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。把看
毫无联系的代码提取封装、复用,使之更容易被理解和拓展。
应用场景:
要完成一件事情,有不同的策略。例如绩效计算、表单验证规则。
代理模式
定义:
为一个对象提供一个代用品或占位符,以便控制对它的访问。替身对象可对
求预先进行处理,再决定是否转交给本体对象。
应用场景:
不方便直接访问某个对象时,或不满足需求时,可考虑使用一个替身对象来
制该对象的访问。
发布订阅模式
定义:
对象间的一种一对多的依赖关系,当一个对象状态发生改变时,所有依赖于
它的对象都将得到通知。
应用场景:
DOM事件、消息通知。
命令模式
定义:
执行某些特定事情的质指令
应用场景
富文本编辑器工具栏
组合模式
定义:
用小的子对象来构建更大的对象,将对象组合成树形结构,以表示“部分-整
体”的层次结构。
应用场景:
从is-a到has-a。
装饰器模式
定义:
能够在不改变对象自身的基础上,在程序运行期间给对象动态地添加职责。
应用场景:
数据上报、统计函数执行时间。
适配器模式
定义:
解决两个软件实体间的接口不兼容问题,不需要改变已有的接口,就能够使它
们协同作用。
应用场景:
接口不兼容的情况。
\