首页 > 其他分享 >Cocos Creator开发之MVC模式初探

Cocos Creator开发之MVC模式初探

时间:2023-07-02 11:32:22浏览次数:50  
标签:Cocos Creator 控制器 视图 MVC Model view View

设计模式是用来实现软件设计进行分工的。设计模式应该是小巧的,对具体问题提出解决方案,以提高代码复用率,提高代码耦合性。Cocos Creator中引入MVC模式的主要目的是:为了帮助Cocos Creator开发者脱离拖拽脚本导致的后期维护方面带来的困难。

一、基本的MVC模式组成

Cocos Creator开发之MVC模式初探_MVC


  • 控制器(Controller)- 负责转发请求,对请求进行处理。
  • 视图(View) - 界面设计人员进行图形界面设计。
  • 模型(Model) - 程序员编写程序应有的功能(实现算法等等),或者便数据库程序员进行数据管理和数据库设计(可以实现具体的功能)。

因此,更具体一点的图形化描述如下:

Cocos Creator开发之MVC模式初探_MVC_02


组件的互动

将应用程序划分为三种组件,模型 - 视图 - 控制器(MVC)设计定义它们之间的相互作用。

因此,更具体一些有关上述三组件的关系描述如下:

  • 模型(Model)——用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。“ Model ”有对数据直接访问的权力,例如对数据库的访问。“Model”不依赖“View”和“Controller”;也就是说, Model 不关心它会被如何显示或是如何被操作。但是 Model 中数据的变化一般会通过一种刷新机制被公布。为了实现这种机制,那些用于监视此 Model 的 View 必须事先在此 Model 上注册,这样一来,View 可以了解在数据 Model 上发生的改变。

  • 视图(View)——能够实现数据有目的的显示(理论上,这不是必需的)。在 View 中一般没有程序上的逻辑。为了实现 View 上的刷新功能,View 需要访问它监视的数据模型(Model),因此应该事先在被它监视的数据那里注册


  • 控制器(Controller)——起到不同层面间的组织协调作用,用于控制应用程序的流程。它的典型任务是:负责处理事件并作出响应。“事件”包括用户的行为和数据 Model 上的改变。

MVC模式的优点与缺点

优点:一,易于理解,技术含量不高。便于开发与维护。二,耦合性不高,表现层与业务层分离,有利于开发。

缺点:没有明确定义,完全理解很困难。开发MVC项目,将MVC模式运用其中,Model和View严格分离困难。其次,MVC模式将一个应用程序分成3个部件,对于小规模项目,反而会带来更多的工作量以及复杂性。


二、Cocos Creator中的MVC模式

视图部分

cocos creator这类工具,都是可视化编辑,编辑完后就有了一个"视图", 普通开发的时候,我们会往节点上挂脚本,往按钮上绑定事件,这样做最大的不好,是让美术修改视图的时候还要关心程序的组件,万一不小心删除了… …, 所以我们一般在挂脚本绑定事件的时候,尽量都在代码里面来完成,

这些完成的过程,实际就是控制视图, 属于控制器的内容,视图要保持足够的简单,不要绑脚本或代码。

控制器部分

在控制器里面终归是要访问视图的,我们在控制器里面怎么方便的访问视图呢?一般我们会编写一个代码(或自动生成), 这个代码作为控制器的基类,在控制器里面我们要非常方便的能访问到视图view里面的各个节点,才能方便的对里面的数据进行绑定, 我们这边的处理方式,会建立一个view 的字典, 字典是view上个节点的名字路径与view 节点对象对应,而这个功能,我们会在控制器的基类里面来把节点加载到字典里面,然后所有的控制器都继承自这个基类,这样,在控制器里面就可以通过 this.view[路径]能非常方便的访问我们的view上的节点,和非常方便的来控制他们挂事件和脚本。

模型部分

控制器除了控制视图外,还要调用模型(Model)。Model, 我们通常会包括了常用的处理逻辑和数据, 例如策划的配置文件,武器的配置文件等等。 我们会提供对应的工具和框架方便和策划来沟通,来做我们的游戏数据,这个时候通常我们用到的是excel表格,excel表格给策划来填写。


主要参考资料



标签:Cocos,Creator,控制器,视图,MVC,Model,view,View
From: https://blog.51cto.com/zhuxianzhong/6604003

相关文章

  • 光脚丫学ASP.NET MVC(0001):创建ASP.NET MVC应用程序项目
    演示视频:http://u.115.com/file/cloa5hpg本演示介绍了如何使用VisualStudio2010创建ASP.NETMVC应用程序项目。下面是VS的新建项目对话框。其中红色线圈住的两个模板是VS2010安装时就自带的ASP.NETMVC2的项目模板,可以从官方网站下载最新的项目模板。下图是新建单元测试项目对话......
  • 菜鸟学习Spring——SpringMVC注解版前台向后台传值的两种方式
    一、概述。在很多企业的开法中常常用到SpringMVC+Spring+Hibernate(mybatis)这样的架构,SpringMVC相当于Struts是页面到Contorller直接的交互的框架也是界面把信息传输到Contorller层的一种架构,通过这个架构可以让我们把页面和Contorller层解耦,使得开发人员的分工更加明确。二、代码演......
  • 光脚丫学ASP.NET MVC(0008):非操作方法
    视频演示:http://u.115.com/file/e6r505ey控制器中的方法并不一定都是操作方法。要使控制器中的方法称为操作方法,则必须使其为公共方法,并且没有为其添加NonActionAttribute特性。私有方法不是操作方法,静态方法也不是操作方法。如下面的两个方法,均不是控制器的操作方法。privateA......
  • SpringMVC的执行流程
    SpringMVC的执行流程要求掌握SpringMVC的执行流程了解SpringMVC的重要组件的作用概要我把整个流程分成三个阶段准备阶段匹配阶段执行阶段准备阶段在Web容器第一次用到DispatcherServlet的时候,会创建其对象并执行init方法init方法内会创建SpringWeb......
  • Taurus .Net Core 微服务开源框架:Admin 插件【4-3】 - 配置管理-Mvc【Plugin-MicroSer
    前言:继上篇:Taurus.NetCore微服务开源框架:Admin插件【4-2】-配置管理-Mvc【含请求日志打印】本篇继续介绍下一个内容:1、系统配置节点:Mvc- Plugin- MicroService 配置界面:注册中心 界面如下:简要说明:该菜单下,显示该微服务类型的菜单,可能为服务端、或客户端、或两......
  • Java的MVC设计模式,带你深刻理解MVC
    什么是MVC?就是ModelViewControl,模型视图控制器。MVC流程图解1.MVC概念:MVC本来是存在于Desktop程序中的,M(Model)是指数据模型,V(View)是指用户界面,C(Control)是控制器。使用MVC的最直接目的就是将M和V实现代码分离,C则是确保M和V的同步,一旦M改变,V应该同步更新。2.MVC工作方......
  • 一文让你轻松拿捏 Spring MVC
    博主介绍:✌博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家✌Java知识图谱点击链接:体系化学习Java(Java面试专题)......
  • 一文读懂 Mysql MVCC
    ......
  • 基于SpringMVC搭建WebSocker
    SpringMVC的搭建请参考我以前的文章基于XML搭建SpringMVC项目基于Spring注解搭建SpringMVC项目(推荐)1.添加pom依赖本文使用最新的Spring6,一些依赖的问题需要自行解决<!--添加socket支持--><dependency><groupId>org.springframework</groupId><a......
  • CocosCreator 3.7.x 一步步给你的项目增加热更新
    官方文档1. 热更新范例教程·CocosCreator2. 热更新管理器·CocosCreator官方文档主要是讲了原理,然后给了一个基于3.3.2版本的示例,都看完了之后感觉只是一知半解。所以决定写一个stepbystep的教程,进一步以供大家参考。(当前,这里也有其它帖子可供参考)插件准备......