1、修饰模式

通过增加子类的方式来扩展功能,而不是通过继承

具体的方式如下

interface inter

{

    void do();

}


A implements inter{

    public void do(){

//doSomething;

    }

}


B implements inter{

    A a;

    public void do(){

//额外的功能

a.do();

//额外的功能

    }


}


2、职责链

有一系列负责处理的类,实现相同的接口,具有大致相同的方法

大致讲就是:我能处理就处理,处理不了就交给其它类来处理

核心的代码就是: handler 为处理类的接口

class A implements handler{

    B b;

    public void do{

        if(条件成立){

            A的具体解决方案;

        }else{

            b.do();

        }

    }

}

class B implements handler{

    C c;

    public void do{

        if(条件成立){

            B的具体解决方案;

        }else{

            c.do();

        }

    }

}

这样就串起来了,很容易理解为什么叫职责链

使用条件:所有的情况都已经知道,但不知道具体用哪一种解决方案
09-18 13:43