您的位置:首页 > 其它

模式

2015-08-04 10:40 337 查看
一、DAO模式
DAO:data access object,数据访问对象,不论数据存储在普通的文本文件、CSV文件、关系数据库(rdbms)、ldap,使用DAO模式访问数据的客户端代码可以完全忽视这种差异,而以统一的接口来访问相应数据。
eg:action―>ucc―>service―>DAO.
此外,异常一般在dao、service抛出,ucc进行捕捉异常(如果捕捉到,则抛出new RollbackException()进行事物回滚),ucc层继续抛出,action捕捉
二、适配器模式
接口A中有很多方法,如果CLASS B 继承该接口,那么B需要实现接口中的所有方法,但是当不想实现所有方法的时候,这个时候可以用抽象类C继承接口A,再用B继承C,起到适配的效果。
三、单例模式
保证在程序中,一个类只有一个实例存在,通过final static 修饰对象实现
eg:

class Single{
private Single(){}

private static final Single s1=new Single();

四、工厂模式(又叫:静态工厂模式)
通过静态方法,用来实例化 目标类,达到就算新增方法,也不需要去修改过多代码的目标。eg:

class Factory{
public static Car getCarInstance(String type){
Car c=null;
c=(Car)Class.forName("org.jzkangta.factorydemo03."+type).newInstance();
.........
五、静态代理模式和动态代理模式(eg:rmi)

http://www.zhihu.com/question/20794107 http://blog.csdn.net/myfmyfmyfmyf/article/details/8229807 当使用动态代理模式的时候,当服务端增加方法后,不需要去修改代理对象中的代码,通过invoke即可以动态实现方法调用
六、模板方法模式
思路:接口或抽象类中定义抽象方法及定义一般方法,在一般方法中调用具体的抽象方法的实现。(父类调用子类的方法).
七、门面模式
思路:客户端不关心太多的实现,只需调用一个门面,门面内部再去调用其它方法
八、策略模式
Calc c=new Calc();
//c.add.oper(a, b);
c.jian.oper(a, b);

public class Calc {

public final static Operation add=new Add();
public final static Operation jian=new Jian();
public final static Operation cheng=new Cheng();
public final static Operation chu=new Chu();
..............
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: