结构型模式-桥接模式

97 阅读1分钟

本文为学习笔记

桥接模式其实要解决的是一个数学问题。比如现在人族、兽族、暗夜三个种族的基本兵都会一件事是“打架”,为了实现这三种兵的生产,你至少需要三个类来new这些对象。这时候你觉得还是打不过不死族,你需要每个兵种再会一个法术技能,可以有的法术技能其实很多,比如有补血和吹风两个技能,这样你就可以生产3*2=6种兵了。接下来你发现不死族还是打不过,你决定再给每个兵升级被动技能,可选的被动技能就更多了,比如有4个,加防加攻速加移速加视野,这样,你就要生产的兵种种类达到了3*2*4=24类了,你就要构建24个类?

当然了,有人会说,你直接往打架基本兵身上加补血技能、吹风技能加被动不就完了,但是你不确定纯纯基本兵有没有被别的研究机构拿去用,你直接改纯纯基本兵会不会对其他研究机构的研究产生影响(即修改基类的影响面不可控制)

好了我们继续说,一般来说,很容易想到将兵种做一个基本类,三个种族的兵种都集成于这个基类,为了减少我们的类数目,我们可以把法术技能和被动技能都做一次横向抽象,这样还可以实现灵活的技能更换操作。