设计原则的分类
创建型:帮助我们优雅的创建对象
结构型:帮助我们更优雅的设计代码结构
行为型:模块之间行为的模式总结,帮助我们组织模块行为
技巧型:一些帮助我们优化代码的技巧
创建型设计模式简介
1 工厂模式
构建一个创建对象的工厂,告诉这个工厂我们要什么对象,这个工厂就会把对应的对象返回给我们。
工厂模式适用于大量的创建对象的场景。
2 单例模式
怎么去设计我们的代码,保证我们全局某个特定的实例化对象只能有一个。
3 建造者模式
适用于创造复杂的对象,精细化的去组合一个对象出来
4 原型模式
这个大家应该比较熟悉,其实就是js中的原型链。他的意义就是通过定义一个原型,后面创建的对象都依赖于这个原型,共用它上面的属性和方法。
总结:
上面的4种设计模式,都是去指导帮助我们更好的创建对象的。
结构型设计模式简介
1 外观模式
可以理解为我们去餐厅或者点外卖的套餐,我们就不用关心我们具体要点什么菜,我们只需要说我们要哪个套餐就可以了。
代码上来说,就是我们的接口给外部调用的时候,我们给外部提供一个套餐,而不用让外部知道具体调用了哪个接口。
2 享元模式
这个设计模式主要用来减少对象和代码块的数量,当存在大量重复的对象或者代码块的时候,我们可以观察下对象和代码块之间的异同,把不同的地方提取封装,就称呼为享元。
通过这种方式可以精简代码。
3 适配器模式
适配器模式的核心思想就是用适配去代替更改。
当两个对象之间他们的接口不适配的时候,我们不用去更改这两个对象,而是自己额外写一段适配代码。把接口和数据适配起来。
4 桥接模式
桥接模式关注的是代码的耦合度。就是把代码中一些内容独立出来,然后再互相组合回去,实现减少代码耦合度度的目的。
5 装饰者模式
常见的使用场景是,当一个代码不满足于我们的需求的时候,更好更优雅的去拓展功能和需求。