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();
}
}
}

  这样串起来了,很容易理解为什么叫职责链
  使用条件:所有的情况都已经知道,但不知道具体用哪一种解决方案