设计模式考点( 六 )


模板方法模式( )
**意图:**定义一个操作中的算法骨架 , 而将一些步骤延迟到子类中 。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤 。
适用性
1、一次性实现一个算法的不变的部分 , 并将可变的行为留给子类来实现 。
2、各子类中公共的行为应被提取出来并集中到一个公共父类中 , 以避免代码重复 。
3、控制子类扩展 。模板方法旨在特定点调用“hook”操作(默认的行为 , 子类可以在必要时进行重定义扩展) , 这就只允许在这些点进行扩展 。
设计模式的分类
两个表要背熟练 , 这里有1分必考 , 然后可以背创建型和结构型的就够了 , 剩下的就是行为型的
真题
创建型设计模式
创建型模式与对象的创建有关
特别注意简单工厂不是设计模式的一种 , 只是引用 , 然后概念没什么好看的 , 记得工厂模式是类模式
简单工厂模式(不是设计模式)
其实就是有一个工厂它是专门生产一类产品的 , 你要生产具体的这类什么产品跟它说 , 然后它就是生产给你
讲解地址:
工厂模式( )
? 工厂模式 简单工厂模式
工厂模式就是简单工厂模式的升级版 , 以前你一个工厂只能生产一类产品 , 例如饺子工厂只能生产饺子 , 但是不能生产包子 , 所以就有了工厂模式 , 它就是把工厂定义为抽象 , 然后用具体的工厂去实现这个接口 , 它可以有饺子工厂来生产饺子 , 也可以有包子工厂来生产包子
意图必考 , 背就完事
讲解地址:
抽象工厂模式( )
抽象工厂是工厂模式的升级 , 工厂模式的确是可以通过多个工厂来生产不同的东西 , 但是它每个工厂只能生产一种商品 , 例如海尔电视机工厂只能生产电视机 , 不能生产其他的 , 所以就出现了抽象工厂 , 抽象工厂就是定义了个抽象的工厂 , 这个抽象工厂能够生产不同商品 , 然后器具体实现工厂来实现它这些产品 , 例如有个抽象工厂能够生产电视机和洗衣机 , 然后有个海尔工厂继承这个抽象工厂 , 它可以生产海尔电视机和海尔洗衣机 , 这就实现了一个工厂生产多种产品
讲解地址:
真题1
真题2
讲解地址:
生成器模式(建造者模式)()
生成器模式在现在的设计模式里应该叫建造者模式
适用于以下情况
①抽象复杂对象的构建步骤
②基于构建过程的具体实现构建复杂对象的不同表示
关键字:复杂、构造对象不同的表示
讲解地址:
真题1
真题2
真题3
讲解地址:
原型模式()
讲解地址:
单例模式()
讲解地址:
真题1
真题2
真题3
结构型设计模式
结构型模式处理类或对象的组合;
记得适配器模式是类模式
适配器模式()
讲解地址:
真题
桥接模式()
讲解地址:
真题1
真题2
真题3
讲解地址:
组合模式()
大Leaf小
讲解地址:
真题1
讲解地址:
真题2
真题3
装饰模式()
讲解地址:
真题
外观模式()
讲解地址:
真题1
真题2
享元模式()
讲解地址: