设计模式面试知识点(干货)
丝瓜网小编提示,记得把"设计模式面试知识点(干货)"分享给大家!
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是代表程序的一个元素,这个元素可以是:包、类/接口、属性变量、方法/方法形参、泛型参数。