设计模式总结

1.工厂模式
  1.1 工厂方法模式 (由一个工厂类管理构造方法)
     1.1.1普通工厂模式(一个工厂类中只有一个方法)
     1.1.2多工厂模式(一个工厂类中有多个方法)
     1.1.3静态工厂模式(将工厂类中的方法变成静态方法)
  1.2 抽象工厂模式  (将工厂由类变为接口,将类中的方法变为类)


本质:通过接口降低耦合性,用一个专门的东西来管理具体实现的方法.


2单例模式

单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM

中,该对象只有一个实例存在。这样的模式有几个好处:
2.1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。
2.2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。
2.3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统

完全乱了。(比如一个军队出现了多个司令员同时指挥,肯定会乱成一团),所以只有使用单

例模式,才能保证核心交易服务器独立控制整个流程。


2.1.1在Java指令中创建对象和赋值操作是分开进行的
2.1.2也就是说instance = new Singleton(),语句是分两步执行的。
2.1.3.JVM并不保证上面两个操作的先后顺序
2.1.4.因此,如果有多线程,有可能发生下列情况,a线程执行instance = new Singleton(),

但还   没有初始化就离开了线程.b线程跟着就进去程序,因为instance不是null,就不会执行

任何  东西,最后要使用instance这个对象的时候,分配了内存空间,但是没有初始化,就会报


2.1.5.解决方案:实际情况是,单例模式使用内部类来维护单例的实现
2.1.6.方案原因: JVM内部的机制能够保证当一个类被加载的时候,这个类的加载过程是线程

互斥的。所以用内部类保证了对象一定会初始化


3.建造这模式

工厂模式关注的是创建单个产品,而建造者模式则关注创建符合对象,多个部分。

4.原型模式
该模式的思想就是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对

象。


5.适配器模式
一个a接口的实现类,要用到a接口中没有,而b类中有的方法
解决方案: c类继承b类(可以用到b类中的方法),实现a接口(可以用到a接口中的方法)
c extends b,implements a

这样a接口的实现类就具有了b类的功能。

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