前言——什么是MVC框架
MVC全名是Model View Controller,
是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面 显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于 映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
目的——Unity UI使用时的优势
框架其实是一种思想,一种在制作游戏时对代码的逻辑化整理,在Unity开发过程中,很多的公司在制作游戏开发项目的时候都用到了MVC的逻辑模式,既数据模型—视图—控制器。
作为码农,我们在写代码的时候,都在追求代码的高聚合、低耦合,高聚合通俗来讲就是说将代码的模块区分开,每个模块的功能高度集中,低耦合是说尽量减少模块与模块之间的相互影响,这样在后期维护代码的时候将会非常的轻松,但产品经理要求改需求的时候也不会“牵一发而动全身”,将代码大改特改。当然也没有完全的高聚合低耦合的模式,但我们要尽量以这个思想来设计代码。
举一个简单的例子:很多的游戏开发项目发布后,看上去各个功能实现的都很完善,但是如果在某个节日要发布游戏活动,要将游戏UI变更相对应的节日时,有的项目各个UI下挂在了大量的脚本,这样很难进行UI的替换,当替换UI会导致其他的功能受到影响时,这将会严重影响游戏的质量。所以我们在设计游戏的时候,在UI方面可以考虑MVC的结构模式,将模块之间的功能区分开,达到低耦合的效果。
实现——简单的UI项目
下面我们用MVC框架的思想来0简单的实现一个制作的UI界面来了解一下如何写MVC框架。
~第一个脚本:Model
1,在这个脚本里面,只存放数据
2,脚本是一个单例对象,不需要挂载在物体上
3,所有的数据通过外部赋值,不需要有初始值
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerModel{
/// <summary>
/