java设计模式代码 java设计模式视频教程( 四 )


方案 , 这也是它能被广泛应用的原因 。
一、设计模式的分类
总体来说设计模式分为三大类:
创建型模式 , 共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式 。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式 。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式 。
其实还有两类:并发型模式和线程池模式 。
例子:
单例模式(Singleton)
单例对象(Singleton)是一种常用的设计模式 。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在 。这样的模式有几个好处:
1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销 。
2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力 。
3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完全乱了 。(比如一个军队出现了多个司令员同时指挥,肯定会乱成一团),所以只有使用单例模式 , 才能保证核心交易服务器独立控制整个流程 。
首先我们写一个简单的单例类:
[java] view plaincopy
public class Singleton {
/* 持有私有静态实例 , 防止被引用,此处赋值为null,目的是实现延迟加载 */
private static Singleton instance = null;
/* 私有构造方法,防止被实例化 */
private Singleton() {
}
/* 静态工程方法,创建实例 */
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
/* 如果该对象被用于序列化,可以保证对象在序列化前后保持一致 */
public Object readResolve() {
return instance;
}
}
JAVA23种设计模式设计模式主要分三个类型:创建型、结构型和行为型 。
其中创建型有:
一、Singletonjava设计模式代码,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点
二、Abstract Factory,抽象工厂:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类 。
三、Factory Method,工厂方法:定义一个用于创建对象的接口,让子类决定实例化哪一个类,Factory Method使一个类的实例化延迟到了子类 。
四、Builder,建造模式:将一个复杂对象的构建与java设计模式代码他的表示相分离,使得同样的构建过程可以创建不同的表示 。
五、Prototype,原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型来创建新的对象 。
行为型有:
六、Iterator,迭代器模式:提供一个方法顺序访问一个聚合对象的各个元素,而又不需要暴露该对象的内部表示 。
七、Observer , 观察者模式:定义对象间一对多的依赖关系 , 当一个对象的状态发生改变时,所有依赖于它的对象都得到通知自动更新 。
八、Template Method,模板方法:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,TemplateMethod使得子类可以不改变一个算法的结构即可以重定义该算法得某些特定步骤 。
九、Command,命令模式:将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化,对请求排队和记录请求日志 , 以及支持可撤销的操作 。
十、State , 状态模式:允许对象在其内部状态改变时改变java设计模式代码他的行为 。对象看起来似乎改变了他的类 。

推荐阅读