欢迎光临散文网 会员登陆 & 注册

unity - MVC架构基类简单实现

2023-05-27 18:26 作者:尘风一枚  | 我要投稿

using System;


/// <summary>

/// 数据模型

/// </summary>

public abstract class Model

{

//初始化方法

public abstract void Init();


//建立注册机制 用于通知所有View层去更新数据

private event Action<Model> updateEvent;

//注册事件 一旦注册就更新

public void AddUpdateEvent(Action<Model> action)

{

updateEvent += action;

CallUpdateEvent();

}

//通知View层更新UI

public void CallUpdateEvent()

{

updateEvent?.Invoke(this);

}


}


/// <summary>

/// 泛型数据模型层

/// </summary>

/// <typeparam name="T">继承Model本身的类</typeparam>

public abstract class Model<T> : Model where T : Model<T> ,new()

{

private static T model;

public static T Instance

{

get

{

if (model == null)

{

model = new T();

model.Init();

}

return model;

}

}

}

------------------------------------------------------------

using UnityEngine;


public abstract class View : MonoBehaviour

{

public abstract void UpdateView(Model Model);

}

------------------------------------------------------------

using UnityEngine;


public abstract class Controller : MonoBehaviour

{

protected void Bind(View view,Model model)

{

model.AddUpdateEvent(view.UpdateView);

}

}

unity - MVC架构基类简单实现的评论 (共 条)

分享到微博请遵守国家法律