------------------------------------MVC框架思维方式------------------------------------------------------------------
MVC 框架简介
MVC 主要用于UI界面来保证 数据与界面 脱耦 (渲染 与 逻辑 分离 )
①M Model 代表了数据模型(数据 例如 Text 文本中需要填充的一句话 用一个类打包起来 )
----------------代码: 不继承MonoBeHaviour 的普通类 为一个Panel 写一个
②V View 代表了视图层(你完全可以看到的UI界面)
----------------代码: 继承MonoBeHaviour 的脚本类 为当前Panel 写一个里面包含当前UI物体
③C Control 代表了控制层(具体操作的逻辑)
-----------------代码: 这里所有的方法逻辑可以集成在一起
using UnityEngine;
/// <summary>
/// Model基类
/// </summary>
public class ModelBase
{
/// <summary>
/// 数据加载
/// </summary>
public virtual void Load() { }
/// <summary>
/// 数据清除
/// </summary>
public virtual void Relese() { }
}
using UnityEngine;
/// <summary>
/// View基类
/// </summary>
public class UIBase : MonoBehaviour
{
public void Open() { this.gameObject.SetActive(true); }
public void Close() { this.gameObject.SetActive(false); }
public virtual void Init() { }
}
/// <summary>
/// Control层 没有基类所有方法可以用来通用
/// </summary>
public class ControlServer : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
以上的Model 层 和 View层(UI界面) 可以拓展写成 管理类 每一个Panel 都需要去继承重写便于管理
·
以上图片为框架的整体需要的脚本类
除了基本的三个框架
还需要
Resources 动态加载 (参照原码来写方法通过enum 类型和 文件夹分门别类的去动加载东西)
最重要的EventManger 事件管理中心 (UI界面注册事件函数 存入事件管理中心中之后由 Model层来发送数据执行对应函数) (事件一定要弄清楚 注册的函数 利用委托事件传入对应数据直接执行即可)
(model层 与 View层的 数据传递全靠它)
ConfigManager(配置信息管理这里主要通过Socket 网络通信来接入服务器配置数据来进行一个数据的网络动态加载)
MVC思维导图