-
装饰器模式
1. 模式定义在不修改原有类,也不通过大量子类继承的情况下,动态的给对象增加新功能。 可以理解为:给对象套外壳 1234咖啡→ 加牛奶的咖啡→ 加糖的牛奶咖啡→ 加奶泡、加糖的牛奶咖啡 每一层装饰器,就增加一项功能,而且这些装饰器可以自由组合。 2... -
桥接模式
1. 模式定义当一个类有两个变化维度时,不要用继承把所有组合都写成子类,而是把其中一个维度抽出来,用组合链接起来。 2. 模式适用场景 一个列存在两个或者多个独立变化维度 使用继承会导致数量急剧增加 希望抽象部分和实现部分可以独立扩展 希望运行时自由... -
适配器模式
1. 模式定义把一个类的接口转换成客户端期望的另一个接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 通俗的解释 已有的东西能用,但是接口对不上,所以需要加一个转换器做一下转换 2. 模式适用场景 老代码接口与新系统接口不一致... -
原型模式
1. 模型定义不通过new某个具体类来创建对象,而是通过”复制一个已有对象”来创建新的对象。也就是: 1var newObj = oldObj.Clone(); 2. 原型模式解决的问题平时我们创建对象一般是: 1var car = new C... -
建造者模式
1. 模式定义当一个对象的创建过程很复杂,而且创建步骤比较多时,不希望把一堆构造参数、初始化逻辑都赛道构造函数里面。 建造者模式的核心思想: 把对象的构建过程和对象本身分离开,让创建过程一步一步完成。 2. 模式适用场景 属性很多 有些属性可选 ... -
观察者模式
1. 模式定义观察者模式定义对象之间的一对多依赖关系,当一个对象状态改变时,所有依赖它的对象都会自动收到通知并更新。 常见场景 场景 解释 公众号订阅 公众号发文章 → 所有订阅者收到通知 股票价格 股票价格变动 → 投资者收到更...