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