个人的PureMVC学习笔记

本文是作者学习PureMVC框架的心得笔记,首先介绍了程序框架和MVC模式,接着详细解析了PureMVC的核心思想和特点,包括模型、视图、控制器的角色。然后通过实战训练展示了在Unity中下载、导入PureMVC框架,创建控件并编写代码实现功能。最后给出了学习资源链接。
摘要由CSDN通过智能技术生成

前言

初入Unity行业,公司某项目使用的框架是PureMVC,在学校的时候对设计模式和框架都了解尚浅,自己项目的代码都是想到哪写到哪,可读性差且耦合性高,正好借此机会了解学习下多人协作项目所使用的框架。

一、了解程序框架

程序框架是一个半成品程序,一个框架可以让一个程序更容易管理,更容易维护,程序员通过框架进行程序开发更高效。

二、了解MVC

什么是MVC?

MVC是Model View Controller的缩写,M(Model)是指业务模型,V(View)是指用户界面,C(Controller)则是控制器。

  • 模型(Model)用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。“ Model
    ”有对数据直接访问的权力,例如对数据库的访问。“Model”不依赖“View”和“Controller”,也就是说, Model 不关心它会被如何显示或是如何被操作。但是 Model 中数据的变化一般会通过一种刷新机制被公布。为了实现这种机制,那些用于监视此Model 的 View 必须事先在此 Model 上注册,从而,View 可以了解在数据 Model 上发生的改变。
  • 视图(View)能够实现数据有目的的显示(理论上,这不是必需的)。在 View 中一般没有程序上的逻辑。为了实现 View上的刷新功能,View 需要访问它监视的数据模型(Model),因此应该事先在被它监视的数据那里注册。
  • 控制器(Controller)起到不同层面间的组织作用,用于控制应用程序的流程。它处理事件并作出响应。“事件”包括用户的行为和数据Model 上的改变。

MVC是用一种业务逻辑、数据与界面显示分离的方法来组织代码,将众多的业务逻辑聚集到一个部件里面,在需要改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,达到减少编码的时间。

三、了解PureMVC

PureMVC:以标准MVC思想进行扩展,将程序分三层:数据、控制、视图使用消息事件系统机制进行三层之间通讯,进行代码解耦,核心消息系统机制使用的是观察者模式思想解耦型强,被业内广泛使用。
特点:轻量级、解耦性强、易于理解、学习成本地、简单高效。

下图为官方对PureMVC设计示意图
在这里插入图片描述
PureMVC框架的目标很明确,它把程序分为了低耦合的三层:Model、View、Controller。由Facade统一管理。

  1. Model保存对Proxy对象的引用,Proxy负责操作数据模型,与远程服务通信存取数据。
  2. View保存对Mediator对象的引用。由Mediator对象来操作具体的视图组件“ViewComponent”
  3. Controller保存所有Command的映射。Command可以获取Proxy对象并与之交互,通过发送Notifacation来执行其他的Command。(本质仍是View内部的观察系统)
  4. Proxy是负责操作数据模型的,什么是数据模型?数据模型就是数据库,XML等。我们可以直观地理解为Proxy是用来对数据模型进行查询、插入、更新、删除等操作的类。操作完成后就会发送Notification消息,通知其他层进行更新。Proxy只管发送信息,不会监听信息避免耦合。
  5. Mediator负责操作具体的视图组件,包括:添加事件监听器,发送或接受Notification,直接改变视图组件的状态。比如:给Button添加事件,点击Button时发送Notifacation,告诉Controller执行相应的操作。比如一个登录的按钮,Mediator会发送通知给controller,告诉它执行登录操作。Mediator还负责直接改变视图的状态。比如点击登录按钮之后,Mediator改变登录按钮置灰避免重复操作。还可以在视图上显示一条信息告诉我正在执行登录操作等。总结Medoator是用来管理具体视图的。
  6. Command可以获取Proxy对象并与之交互,通过发送Notification来执行其他的Command。比如点击登录按钮后,Mediator就会告诉Controller执行相应的Command。既然是登录需要知道用户的信息,Command就会告诉Proxy来查询数据库或者其他数据模型来访问相应数据。Proxy查询好数据后发送Notification通知Command我已经查询好了,然后把信息返回给Command进行验证,同时Mediator也可以接收Proxy发送的Notifacation,通过视图告诉用户正在验证信息。Command验证了用户信息后,发送Notification把验证结果返回给Mediator,告诉用户验证的结果。或者Command也可以发送Notifacation给执行其他Command操作,比如验证读取用户信息详细资料等。

下图为PureMVC间各个模块交流的简单例子
在这里插入图片描述

四、实战训练

1、PureMVC框架的下载

官网:PureMVC官网
github下载地址:PureMVC C#的标准框架下载地址

2、PureMVC框架的导入

找到PureMVC框架的代码文件夹,内含三个核心、十个接口、八个类。
在这里插入图片描述

在Unity项目的Asset文件夹下新建PureMVC文件夹,将这三个文件夹导入其中。

在这里插入图片描述

3、新建控件

创建两个button按钮和一个text文本框。
在这里插入图片描述
在这里插入图片描述

4、代码编写

新建几个C#脚本,排列和命名如下:
在这里插入图片描述

MyData脚本:

/// <summary>
/// 初始数据
/// </summary>
public class MyData
{
   
    public int dataValue = 7;
}

MyDataProxy脚本:

using PureMVC.Patterns.Proxy;

public class MyDataProxy : Proxy
{
   
    public const string proxyName = "MyData01";
    public MyData myData = null;

    public MyDataProxy() : 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值