zoukankan      html  css  js  c++  java
  • Unity---游戏设计模式(4)之中介者模式




    概述参考请看 参考博客

    1、中介者模式


    不使用中介者模式,各个系统之间交错调用,很复杂。


    使用中介者模式,从多对多变为1对1.

    中介者模式代码

    
    /// <summary>
    /// 单例模式、外观模式、中介者模式一起使用
    /// </summary>
    public class GameFacade
    {
    	#region 单例模式
        private static GameFacade _Instance;
        public static GameFacade Instance {
            get
            {
                if (_Instance == null)
                {
                    _Instance = new GameFacade();
                }
                return _Instance;
            }
        }
        #endregion
    
    
        private AchievementSystem mAchievementSystem;
        private CharacterSystem mCharacterSystem;
        private GameEventSystem mGameEventSystem;
        private UISystem mUISystem;
    
        public void Init()
        {
            mAchievementSystem.Init();
            mCharacterSystem.Init();
            mGameEventSystem.Init();
            mUISystem.Init();
        }
    
    	//系统间互相调用时,在GameFacade中写调用方法,再使用单例模式调用这个方法就OK了。
    	//这样就不会出现因系统间互相调用,而搞不清楚的情况了
        public void Method1()
        {
            mCharacterSystem.Work();
        }
    }
    

    中介者模式和外观模式经常交叉使用,你中有我、我中有你。傻傻分不清楚。

    2、中介者模式优缺点

    优点

    1. 降低系统间的耦合性
    2. 提供系统的灵活性,使得各个系统对象独立而易于复用

    缺点

    1. 中介者承担了较多的责任,所以当中介者被破坏后,各个系统将可能受到影响
    2. 添加新系统时,要修改中介者,违背开闭原则
  • 相关阅读:
    Samba服务器搭建
    Nginx优化
    Nginx配置
    LNMP环境搭建
    mysql主从同步
    Linux系统文件权限体系详解
    强大的grep,sed和awk--用案例来讲解
    Linux中关机,重启,注销命令
    如何解决一个问题(一)
    Linux基础命令讲解(二)
  • 原文地址:https://www.cnblogs.com/Fflyqaq/p/11576569.html
Copyright © 2011-2022 走看看