1、修饰模式
通过增加子类的方式来扩展功能,而不是通过继承
具体的方式如下
1. interface inter
2. {
3. void do();
4. }
5. A implements inter{
6. public void do(){
7. //doSomething;
8. }
9. }
10. B implements inter{
11. A a;
12. public void do(){
13. //额外的功能
14. a.do();
15. //额外的功能
16. }
17. }
2、职责链
有一系列负责处理的类,实现相同的接口,具有大致相同的方法
大致讲就是:我能处理就处理,处理不了就交给其它类来处理
核心的代码就是: handler 为处理类的接口
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. }
这样就串起来了,很容易理解为什么叫职责链