1700475934
1700475935
它是接口或者抽象类,定义角色必须的行为和属性。
1700475936
1700475937
❑RefinedAbstraction——修正抽象化角色
1700475938
1700475939
它引用实现化角色对抽象化角色进行修正。
1700475940
1700475941
❑ConcreteImplementor——具体实现化角色
1700475942
1700475943
它实现接口或抽象类定义的方法和属性。
1700475944
1700475945
桥梁模式中的几个名词比较拗口,大家只要记住一句话就成:抽象角色引用实现角色,或者说抽象角色的部分实现是由实现角色完成的。我们来看其通用源码,先看实现化角色,如代码清单29-16所示。
1700475946
1700475947
代码清单29-16 实现化角色
1700475948
1700475949
public interface Implementor{
1700475950
1700475951
//基本方法
1700475952
1700475953
public void doSomething();
1700475954
1700475955
public void doAnything();
1700475956
1700475957
}
1700475958
1700475959
它没有任何特殊的地方,就是一个一般的接口,定义要实现的方法。其实现类如代码清单29-17所示。
1700475960
1700475961
代码清单29-17 具体实现化角色
1700475962
1700475963
public class ConcreteImplementor1 implements Implementor{
1700475964
1700475965
public void doSomething(){
1700475966
1700475967
//业务逻辑处理
1700475968
1700475969
}
1700475970
1700475971
public void doAnything(){
1700475972
1700475973
//业务逻辑处理
1700475974
1700475975
}
1700475976
1700475977
}
1700475978
1700475979
public class ConcreteImplementor2 implements Implementor{
1700475980
1700475981
public void doSomething(){
1700475982
1700475983
//业务逻辑处理
[
上一页 ]
[ :1.700475934e+09 ]
[
下一页 ]