设计模式三--中介者模式(游戏内各系统的整合)

中介者模式:

            定义一个接口用来封装一群对象的互动行为,中介者通过移除对象之间的引用,来减少它们之间的耦合度,并且能够改变它们之间的互动独立性

优点:

            不会引入太多其它的系统

            系统被依赖的程度也会降低

注意:

           各个游戏系统和玩家界面必须通过中介者类(Mediator)来进行信息交换及沟通,Mediator类会因为担任过多中介者角色而容易出现操作接口爆炸的情况;因此在实现上,我们可以搭配其他设计模式来避免发生这种情况,比如事件系统

                 

                                       

Colleague:

             拥有一个Mediator属性成员,可以通过它来调用中介者的功能

              

 

ConcreteColleagueX:

             实现Colleague界面的类,对于单一实现类而言,只会依赖一个Mediator接口

             

 

             

 

Mediator(中介者接口):      

            用来管理Colleague对象的接口

            

 

ConcreteMediator(中介者接口实现类)

           ConcreteMediator实现类中包含所有ConcreteColleague的对象引用

           ConcreteMediator类之间的互动会在ConcreteMediator中发生

              

Main:

            

      

 

结论:

         中介者模式的优点是让系统之间的耦合度降低,提升系统的可维护性。但身为模式中的中介者角色类,也会存在着接口过大的风险,此时必须在配合其他模式来进行优化

posted @ 2019-01-16 13:05  苍越孤鸣  阅读(250)  评论(0编辑  收藏  举报