设计模式面试知识点(干货)

导读: 1.里氏代换原则 一个软件实体如果使用的是一个基类的话,那么一定适用于其子类2.工厂模式简单工厂模式 提供静态工厂方法,根据参数决定创建出哪种类型的实例,在有限的程度上支

丝瓜网小编提示,记得把"设计模式面试知识点(干货)"分享给大家!

1.里氏代换原则 一个软件实体如果使用的是一个基类的话,那么一定适用于其子类

2.工厂模式

简单工厂模式 提供静态工厂方法,根据参数决定创建出哪种类型的实例,在有限的程度上支 持开闭原则 DateFormat、SimpleDateFormat

工厂方法模式 工厂类变成抽象工厂,仅负责给出工厂子类必须实现的部分(返回抽象类型) 完全支持开闭原则 java.util.Collection中的iterator()方法

抽象工厂模式 围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂

3.单例模式 Runtime

饿汉模式 类加载时就会创建 构造方法私有(类不能被继承)

懒汉模式

4.建造者模式 director 多个简单的对象一步一步构建成一个复杂的对象

优点: <1、建造者独立,易扩展。 <2、便于控制细节风险。

缺点: <1、产品必须有共同点,范围有限制。 <2、如内部变化复杂,会有很多的建造类。

5.原始模型模式 clone()方法 深复制、浅复制

6.适配器模式 创建一个Adapter将两个类的功能合到一个

类适配器模式、对象适配器模式 JDBC驱动软件

7.缺省适配器模式 缺省适配器是个抽象类,仅仅implements而不实现。然后客户端直接使用Adapter即可选择需要实现的方法,而不 用实现全部

8.访问者模式

java:TypeVisitor"ElementVisitor

类似于一个if(element instanceof ExecutableElement)

element所代表的元素只在编译期可见,用于保存元素在编译期的各种状态,而Type所代表的元素是运行期可见。

element是代表程序的一个元素,这个元素可以是:包、类/接口、属性变量、方法/方法形参、泛型参数。

丝瓜网 crfgs.com