见面试官前,掏出来看看系列之——设计模型思维导图
程序员文章站
2022-05-21 23:53:43
...
见面试官前,掏出来看看系列
本系列旨在为面试者见到面试官之前打发无聊时间之用
缓解面试者见到面试官之前,因为紧张而头脑一片空白又想看点知识点来提高安全感之用
设计模式
目的:
代码重用
避免程序大量修改
代码易于理解
保证代码可靠性
单例模式
在使用之前对象已经创建好,在多线程环境下使用这种方法:
public class Singleton{
private Test(){
private static Test unique = new Test();
public static Test getunique(){
return unique;
}
}
}
构造函数必须为私有,必须提供一个全局访问点
1.确保某一类,只有一个实例。
2.自行实例化,向整个系统提供这个实例
3.全局变量和单例模式的区别:全局变量是对一个对象的静态引用,并不能保证应用程序中只有一个实例;单例模式在类中保存了唯一实例(这个类),所以可以保证只能创建一个实例。
工厂模式
1.动态决定将哪一个类实例化
2.简单工程 模式
- 根据提供给它的参数,返回的是几个可能产品中的一个类的实例
3.工厂方法 模式
- 定义一个用于创建产品对象的工厂接口,而将实际创建工作推迟到工厂接口的子类中
4.抽象工厂 模式
- 向客户端提供一个接口,使客户端不必指定产品的具体情况下,创建多个产品族中的产品对象
适配器模式
1.把一个类的接口转化为客户端所期望的另一种接口,从而使因不匹配而无法一起工作的两种类能够一起工作
2.可用于 遗留代码复用、类库迁移等方面
3.对象适配器:低耦合
4.类适配器:因为是“多继承”的实现方式,所以,引起程序 高耦合
观察者模式
1.也称:发布/订阅模式
2.可以避免组件之间高耦合
3.将观察者、被观察者分离开来
4.一个对象只做一件事
5.一个对象通过添加一个方法(该方法允许观察者注册自己)使本身变得可观察。当可观察的对象更改时,他会将消息发送到已注册的观察者