一、工厂模式
总体来说,工厂模式适合:凡是出现了大量的产品需要创建,并且具有共同的接口时,可以通过工厂方法模式进行创建。在以下的四种模式中,第一种如果传入的字符串有误,不能正确创建对象,第三种相对于第二种,不需要实例化工厂类,所以,大多数情况下,我们会选用第三种——静态工厂方法模式
1.普通工厂模式
就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。需要对传入的字符串选择判断,传错字符串工厂就会创建错,甚至异常。
2.多工厂模式
是对普通工厂方法模式的改进,多个工厂方法模式是提供多个工厂方法,分别创建对象。
3.静态工厂模式
将多个工厂方法模式里的方法置为静态的,不需要创建实例,直接调用即可。
4.抽象工厂模式
这种好处是,如果有需要改动工厂类的时候,不用改原有的工厂类,写一个实现类,写一个工厂类就可以实现扩展了。
二、单例模式
单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处:
1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。
2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。
3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完全乱了。(比如一个军队出现了多个司令员同时指挥,肯定会乱成一团),所以只有使用单例模式,才能保证核心交易服务器独立控制整个流程。
三、代理模式
代理模式的应用场景:
如果已有的方法在使用的时候需要对原有的方法进行改进,此时有两种办法:
1、修改原有的方法来适应。这样违反了“对扩展开放,对修改关闭”的原则。
2、就是采用一个代理类调用原有的方法,且对产生的结果进行控制。这种方法就是代理模式。
使用代理模式,可以将功能划分的更加清晰,有助于后期维护!