【设计模式游戏完美开发】桥接模式

“将抽象与实现分类,使二者可以独立变化”

独立变化是指不破坏开闭原则的“闭”,即对原有代码不做一切改变,但是可以对外开放,也就是可以新增类的方式来扩展,但是又不会影响其他类。

桥接模式是一个比较难运用的模式,但是套路还是有的,据我所理解的就是多数用在两个不同群组之间,例如:角色人物类 和 武器类, 角色人物拥有武器Weapon,而Weapon是一个接口,可以有A武器,B武器,C武器等等,这些后期扩展N个武器都OK,均不会影响到角色人物,而角色人物类也是一个接口,可以有Q人物,W人物,E人物等等,后期一样可以扩展N个人物,均不会影响到武器类。

上图中,ICharacter是角色人物接口 ,其实现类Q,W,E人物我都没画出来而已,IWeapon是武器类接口。

角色人物的Fire(ICharacter)方法就是调用IWeapon的DoFire方法实现开枪功能的,将ICharacter传入IWeapon是为了获取攻击属性或扣除子弹数等逻辑。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值