必威体育Betway必威体育官网
当前位置:首页 > IT技术

XluaMVC和PureMVC的解析 (一)

时间:2019-10-18 10:43:17来源:IT技术作者:seo实验室小编阅读:64次「手机版」
 

puremvc

先当草稿用用,后期再调整思路,这个框架有点庞大,必须一点一点分析才行,这篇博客是我用来理清思路的>

PureMVC部分:

Viewcontroller都是通过注册观察者的方式来实现事件传递的

  • 观察者:Observer:,实例化它时,传入一个处理通知Inotiferion的委托就可以了;
  • Controller命令模式:注册命令时,其实注册了一个观察者,这个观察者引用了这个命令的excute方法来执行通知事件;

    • command:Excute()是来用执行事件通知的方法
  • View层:可以注册中介者Mediator,中介者引用着具体的UI实体对象,来负责UI的对外交互,UI对象本身不参与逻辑

    • Mediator:引用着UI对象,并且声明了自己对哪些通知事件感兴趣,由ListnotificationInterests()这个方法返回的list<’string”>对象来实现.Midiator也有处理通知的方法。注册中介者时,View层会根据list中的事件名称,实例化一个观察者,观察者利用中介者处理事件的方法来处理这个通知事件。
  • Model层:可以注册代理Proxy,proxy是用来执行数据的相关操作的

    • proxy:代理数据的相关逻辑,继承了Notifier,所以可以发出通知,执行相应的事件,其中的Object data就是所操作的数据实体类,proxy可以从网络上更新数据也可以通过对外的接口来更新数据,也可以当数据更新时发出通知事件
    • Service:这个还没有深入看,目前来看,是用来处理网络消息的一个类

外观模式

以上部分都是MVC三个具体的功能细节,外观Facade统一了这些功能,对外开放。>

  • 首先,Facade引用着上述三个MVC层的单例
  • 承继了Inotifier接口 ,可以发起事件的通知
  • 对应Mediator,Proxy,Command,handler,用V M C Service中对应的方法来实现,注册,移除,判断等功能

    实现了INotifier的类,都可以发送通知,实现这个功能的类有:Ifacade,Notifier,所有的命令Command类,代理proxy类,中介者Midiator。

使用框架的步骤

  • Program

    • 是建立框架和Unity的桥梁,它引用着Facade的实例
    • 负责框架的启动,启动框架前,先进行资源的检查工作,通过调用资源管理者AssetLoader的初始化方法Init()来开启资源检查,不过,我不太喜欢这个框架带的资源管理类,打算用自己的代替。总之,第一步应该是资源的检查工作。
    • 它还负责,Loom的初始化工作,这个类的作用好像是用来做协程工作的,暂时先不管它。还负责facade实例的释放工作。
  • ProgramEntry,是Program的子类

    • 实例化了facade的APPlicationFacade对象
    • 启动了Facade的StartUp()方法,这个方法是框架的启动开始点。
  • ApplicationFacade,继承了Facade类,是外观模式的具体实现类

    • 在StartUp方法里,注册第一个命令:START_UP命令,写一个Command的类,来注册这个事件,来执行开始的逻辑。
  • NotificationType:方便我们记录用到的事件名称的字符串,这个用到了partial来修饰这个类,不同类型的事件,放到不同的文件里写
  • 事件通知的方式

    • 所有的事件,都是通过构造观察者来实现监听的
    • INotifier接口,定义了发送通知的方法
    • 所有实现该接口的类,都有可以发送事件通知的方法,但底层调用的是Facade中的方法来实现具体细节的
    • 而Facade发送通知的方法SendNotification(),底层调用的是Observers的NotifyObservers(),方法,可以这么说,Observers是最底层实现发送通知的方法,但我们可以不知道这个细节,我们只需要知道SendNotification()即可
    • SendNotification()有三种重载,可以自已查看一下,方法内部会自动构造对应的通知Notification来做为数据进行传递
    • INotification接口定义了通知时要传送的数据的格式,事件名称,事件数据,还有一个Type类型的参数
    • 每个注册监听了事件的观察者,根据自己的需求,来处理通知事件
    • -

相关阅读

美女图片采集器 源码+解析

前言:有一段时间没写博客了, "持之以恒"徽章都暗了, 实在不该。 前一段确实比较忙, ...小小地给自己的懒找个借口吧。 大二即将结

解析XML文件(一)

解析XML(一) 在进行XML文件的解析之前,我们简单介绍下什么是XML,以及XML在企业中有哪些作用。(本文建立在不使用数据库的前提之下,如

淘宝退款淘金币会退吗?淘金币抵钱常见问题解析

淘宝退款是淘宝交易中经常有的事情,如果买家退款,淘宝金币会不会退回呢?有人问淘宝退款淘金币会退吗?针对这两个问题,小编从两方面跟

社交媒体营销深度解析

在本文中,笔者重点介绍他的一些发现和社交媒体策略,帮助营销人员通过B2B营销&ldquo;漏斗&rdquo;,以各种渠道找到正确的受众,分享经验

【原】115网盘下载地址解析工具(暂停更新)

原文地址为:【原】115网盘下载地址解析工具(暂停更新)115网盘的优点不必多说,跨运营商多线路、无须下载工具即可高速下载、直接下载地

分享到:

栏目导航

推荐阅读

热门阅读