常用设计模式

常用设计模式_第1张图片

一、双亲委派加载模式:

通过双亲委派机制,一个类的加载请求会被传递给父类加载器,这样可以避免同一类被多次加载,从而保证Java应用程序的安全性和稳定性。

双亲委派机制的作用
1、提高性能,避免同一类被多次加载
2、控制加载顺序,提高类加载的效率
3、安全性,避免核心类被修改。

二、单例设计模式

指一个类只有一个实例
优点:
单例模式可以保证内存里只有一个实例,减少了内存的开销。
可以避免对资源的多重占用。
单例模式设置全局访问点,可以优化和共享资源的访问

三、责任链模式的作用

旨在解决复杂业务逻辑的代码堆积化,使代码接口清晰;

1、将一个臃肿的业务逻辑,有序的拆分为多个子步骤,可以让逻辑更清晰,逻辑层代码简洁
2、多个步骤之间通常顺序不可变,如果要改变顺序,也很方便,扩展性非常好,扩展很简单
3、责任链构建好之后,当遇到同种业务逻辑,而执行顺序不同的时候,可以直接通过改变构架责任链的顺序

四、适配器模式

适配器模式(Adapter Pattern)又叫做变压器模式,它的功能是将一个类的接口变成客户端所期望的另一种接口,从而使原本因接口不匹配而导致无法在一起工作的两个类能够一起工作.

适配器模式有3种形式:类适配器、对象适配器、接口适配器.

优点
1、能提高类的透明性和复用性,现有的类复用但不需要改变;
2、目标类和适配器类解耦,提高程序的扩展性;
3、在很多业务场景中符合开闭原则.

五、工厂模式

工厂模式:分为工厂方法模式和抽象工厂模式

工厂方法模式:
一个抽象产品类,可以派生出多个具体产品类。
一个抽象工厂类,可以派生出多个具体工厂类。
每个具体工厂类只能创建一个具体产品类的实例。

抽象工厂模式:
多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。
一个抽象工厂类,可以派生出多个具体工厂类。
每个具体工厂类可以创建多个具体产品类的实例。

区别:
工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个。
工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个。


工厂模式是为了解耦:可以将对象的创建和使用分离,如果不分离,不但违反了设计模式的开闭原则

你可能感兴趣的:(设计模式)