关于MVC的一些小心得

MVC一般搞程序的都知道,不知道就问百度。

这里还是分享MVC的小模板,不过这个是手打的:

Model:Name(唯一标识,字段),SendEvent(虚方法,给Controller发送事件)

View:Name(唯一标识,字段),GetModel(获取数据模型的方法,抽象),SendEvent(虚方法,给Controller发送事件)

Controller:ModelList(模型列表,存放注册的模型,字典(存放Name和Model类)),viewList(视图列表,存放注册的视图字典(存放Name和View类),RegisterModel(注册模型的方法),RegisterView(注册视图的方法),      GetModel(获取模型的方法),GetView(获取视图的方法),HandleEvent(处理事件的方法)。

这三个类都是抽象父类,需要被继承,不做声明的方法都是虚方法。

以上是MVC的大概内容,不完整,但是算齐全。

解释一下:

Model和View都是有唯一标识Name的类,他们之间可以由View获取Model的信息,但是不能控制和更改,所以需要Controller控制他们,Controller控制他们之前,需要把他们的信息存储到Dictionary中,方便管理多个信息,需要用某一个Model或View 的时候,只需要调用Get方法输入Name就能获取对应的数据了。


实际用的时候,数据模型继承于Model,玩家视图继承于View ,控制方面的脚本例如GameManager继承于Controller。

举个栗子:一个手机卡牌游戏,类似我是MT,关于卡牌信息,存入一个卡牌信息类中,使之继承于Model。关于卡牌信息显示,用UI显示,继承于View,最后有个GameManager,继承于Controller。于是,流程是GameManager去注册Model和View,然后先调用Model,去赋值,再调用View中的GetModel,给View赋值。此时View是不能更改Model中的值,只有GameManager才能改,这个就是他的思想。


现在修炼不够,以后再做修改和补充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值