概述
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元素映射到对象上,也是代理模式。
最后
以上就是欢喜书包为你收集整理的23种设计模式中,自己比较熟悉的6种模式的全部内容,希望文章能够帮你解决23种设计模式中,自己比较熟悉的6种模式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复