请说下 strategy和bridge模式的区别
桥和策略模式个人认为非常相似,都是强调将实现与抽象分离,是否可以认为桥模式本身包含策略模式呢?
[解决办法]
学习了。
是不是可以理解成这样:可能2个模式的实现会相差不大,但他们最主要的区别在于应用的意图呢?
[解决办法]
当一个事物有两个维度的强变化时就需要用到Bridge桥模式。
比如:要开发坦克游戏,坦克有多种型号。这是一种维度。当这款游戏要在PC平台和Mobile平台上一起使用时,这又是一种维度。两个维度一起起作用,这个时候就需要用到Bridge桥模式了。
伪代码示例:
//第一个维度:坦克
Public Abstract class Tank{Flat flat;} //提供一个平台的引用
Public class Tank50 : Tank{Flat flat;}
//第二个维度:平台
Public Abstract class Flat{}
Public class PcFlat : Flat{}
Public class MobileFlat : Flat{}
//桥接
Public class Tank50_PcFlat{PcFlat pcflat} //传入Pc平台的引用
至于策略模式还在学习中。呵呵