bridge 桥接模式
假想需求
?? 有白人 黑人?? 有说英语的白人? 有说汉语的白人? 有说汉语的黑人 有说英语的黑人
?? 按照一般的方法 子类 父类 可以造出4个子类来 这还是2*2的组合 假如分支多了就是N*N了
?
解决
? 桥接模式?
????????? 分出其中一种稳定的类型分支用继承体系来区分? 另一种行为分支用接口封装行为(策略模式?)?
?
接下来看代码
?
抽象人
?
I'm black你好 世界I'm blackhello world=============I'm white你好 世界I'm whitehello world
?
这样使用模式后 极大的减少了代码 虽然现在有6个类 但是这是 1+1+2+2
假如按照原来的分法 有N*N个分支? 使用模式后 会有1+1+N+N? 而不是N*N个类?
代码少了 出错的几率就少了 改需求的时候改的地方也少了 更重要的是 没有了重复的代码片段
?
1 楼 锅巴49 2010-08-16 懂了,这个桥接模式说得好。