Unity之MVC 模式

MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。

  • Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。
  • View(视图) - 视图代表模型包含的数据的可视化。
  • Controller(控制器) - 控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。

Unity之MVC 模式

在Unity中如何实现设计模式?

给大家推荐一款插件Code Control | Easy MVC for Unity

The easiest MVC framework for Unity
With full documention and a C# foundation, Code Control is designed to be the easiest Model View Control framework for Unity. It enforces decoupled controllers linked to serializable models, which automatically find references on load.

Unity之MVC 模式

Unity之MVC 模式Unity之MVC 模式

下载链接:

https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.11891debSAHT84&id=573217337908

Code Control 教程

Introduction 简介

如果你是MVC设计模式的新手,那么你来对地方了,因为Code Control就是为了在Unity里面成为理解MVC框架的最简单方式而设计!

MVC是众多优秀的设计模式之一,是在软件设计中常常出现的众多难题的解决方法。MVC把一个对象分成三个部分:模型层,视图层和控制层。拆分职务增加了代码的易读性和复用性且使重构实现起来更加简单。下面的表格会更加详细的为大家解释这三个职能(即M-V-C)。

Model 模型层
模型层代表对象的数据。除了数据本身之外,一个模型常常包含一些保存/加载数据的方法。

在Code Control插件里面,模型层是以一个抽象类来实现的,并且可以扩展(继承)为一个自定义的模型。

View 视图层
视图层负责基于模型层的数据来显示对象。它包含的只有那些需要对用户做出回应的逻辑,并且发送相关的互动到控制层。

为了尽可能的保持简单和适应性,在Code Control里面没有用抽象类来实现视图层。

Controller 控制层
控制层包含回应视图层和改变模型层数据的对应逻辑。

在Code Control里面,控制层是作为Unity的MonoBehaviour的派生类来实现的,并和模型层有一个life-link。