思考并回答以下问题:
- 所谓的管理就是维护字典,然后对字典进行增删查。怎么理解?
- 为什么Model和View实现类都需要维护一个自己的名字?有什么好处?没有会怎么样?
- 为什么Model和View字典都是用自带的Name字段作为key,而Controller字典是用事件名?
- 为什么Controller字典的Value用Type类来存储?需要用到的时候再实例化,预先实例化浪费内存。但之前需要管理,所以用typeof()得到Type对象,用到的时候再通过反射进行实例化。怎么理解?
- Activator.CreateInstance是干嘛用的?
- 所有启动的地方都要写在Awake中。怎么理解?
MVC
MVC的设计每个都不一样,但关键是解耦合。而解耦合的过程中会使用到大量的设计模式。最常用的有单例模式、观察者模式、命令模式、工厂模式等。
 
 
实现代码
管理类
MVCManager.cs
| 1 | using System; | 
View
View.cs
| 1 | using System.Collections; | 
Model.cs
| 1 | using System.Collections; | 
Controller
Controller.cs
| 1 | using System; | 
GameDefine.cs 系统常量
| 1 | using UnityEngine; | 
使用
实现点击界面“增加金币”按钮,显示出来的金币数量增加。
初始化框架
Init.cs
| 1 | using UnityEngine; | 
Controller文件夹下
InitCtrl.cs
| 1 | using MVCCore; | 
View文件夹下
| 1 | using MVCCore; | 
Model文件夹下
| 1 | using MVCCore; |