浅讨Java修饰模式与职责链模式


1、修饰模式 

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

  具体的方式如下 

Java代码  

1. interface inter  

2. {  

3. void do();  

4. }  

5. implements inter{  

6. public void do(){  

7. //doSomething;  

8. }  

9. }  

10. implements inter{  

11. A a;  

12. public void do(){  

13. //额外的功能  

14. a.do();  

15. //额外的功能  

16. }  

17. }  

 2、职责链 

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

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

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

Java代码  

1. class A implements handler{  

2. B b;  

3. public void do{  

4. if(条件成立){  

5. A的具体解决方案;  

6. }else{  

7. b.do();  

8. }  

9. }  

10. }  

11. class B implements handler{  

12. C c;  

13. public void do{  

14. if(条件成立){  

15. B的具体解决方案;  

16. }else{  

17. c.do();  

18. }  

19. }  

20. }  

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