您的位置:首页 > 其它

23种设计模式中,自己比较熟悉的6种模式

2016-04-13 16:53 344 查看
1.迭代器模式

它提供一种方法来访问容器中对象的各个属性,却又不暴露对象的内部细节。一般直接使用iterator

2.单例模式

确保某一个类只有一个实例,并且自行实例化,并向整个系统提供该实例

public class singleton{

private static final Singleton singlton=new Singleton ();

private singleton(){

}

public static Singleton getsingleton(){

return singleton;

}

}

优点:避免实例的重复创建,比较节约内存。

3.工厂方法模式

定义一个用于创建对象的接口,让子类决定实例化哪一个类,将一个类的实例化,延迟到其子类上。可以看成NEW一个对象的代替品。

优点:在数据库开发中,如果使用JDBC连接数据库,数据库从MYSQL切换到ORACLE,需要改动的地方就是切换一个驱动名称(前提条件SQL语句是标准语句),其他的都不要修改。

4.抽象工厂模式

为创建一组相关或相互依赖的对象提供一个接口,它是工厂方法模式的升级版本。

5.原型模式

不能过NEW来产生一个对象,而是通过对象复制来实现的模式。

原型模式的核心:实现cloneable接口,覆写clone()方法

6.代理模式

为其他对象提供一种代理以控制对这个对象的访问

代理类可以为真实角色预处理消息,过滤消息,转发消息,以及事后处理消息等功能

分为普通代理,强制代理

spring AOP是一个典型的动态代理

struts2的FORM元素映射到对象上,也是代理模式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: