谈谈对PureMVC的理解

简介: 谈谈对PureMVC的理解

官网位置:http://puremvc.org/


Facade(单例,只发送不接受Notification)


关于Proxy(model)

只发送不接受Notification

Proxy模式为代理模式,为其他对象提供一种代理,并以控制对这个对象的访问。

Proxy负责收发服务端的消息,也可以在其中写少量逻辑。收到消息后发送Notification到Mediator(view部分),在Mediator可以实例化Proxy发送消息到服务端。

model 应该处理的是域逻辑(domain logic),也就是本身对象所需要包含的逻辑,比如针对Role来说updateHP,updateExp等,保证数据的完整性,但不处理对象之外的逻辑。

关于Mediator(view)

可以发送和接受Notification

Mediator模式是中介者模式,用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。

Mediator是直接处理UI显示部分的逻辑,包括事件监听,发送与接收Notification(通过Proxy发送, Notify接受),把UI部分的逻辑写在这里,然后UI部分view类直接负责显示,这也解决了视图与视图控制逻辑的分离,减少耦合。

关于Command(command)

可以发送和接受Notification,比如可以接受键盘鼠标输入的指令,也可以是执行远程服务器返回的指令

Command模式是命令模式,将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。Command模式解耦了发送者与接收者之间的联系。

在PureMVC中,Controller保存了所有Command的映射。Command是无状态且惰性的,只有在需要的时候才被创建。

Command 则处理业务逻辑,协调多个Proxy的操作,处理异常等。


流程:LoginView-SendNotification()---->LoginCommand--Execute()--->调用proxy中的函数操作模型数据--LoginProxy(负责数据处理,与服务器通讯)---->LoginAction接收服务器返回-操作数据-返回通知视图控制器--LoginMediator--->操作视图。




目录
相关文章
|
6月前
|
前端开发 安全 Java
Java 新手如何使用Spring MVC RestAPI的加密
Java 新手如何使用Spring MVC RestAPI的加密
|
Java 测试技术 网络安全
JUnit5学习之三:Assertions类
断言是单元测试中最常用的测试手段,本文就来学习和操作常用的断言功能
189 0
JUnit5学习之三:Assertions类
|
设计模式 网络协议 Java
JAVA-stateless4j StateMachine从入门到实战
JAVA-stateless4j StateMachine从入门到实战
306 0
|
设计模式 前端开发 Java
Java经典面试题:Spring中用到了哪些设计模式?
一位应届毕业生被问到这样一道面试题,说Spring用到了哪些设计模式?其实只要Spring使用得够熟练,回答这道题还是非常轻松的。因为Spring的命名非常规范,基本上从类名就可以看得出来用到了哪些设计模式。 今天,我给大家分享一下我的理解。
103 1
|
Java Spring 容器
第一季:7Spring Bean的作用域之间有什么区别【Java面试题】
第一季:7Spring Bean的作用域之间有什么区别【Java面试题】
86 0
|
XML Java 数据安全/隐私保护
springAOP中的基本概念
springAOP中的基本概念
109 0
springAOP中的基本概念
|
JSON Java 测试技术
【高效编程】SpringMVC框架如何与Junit整合,看这个就够了
您好,我是码农飞哥,感谢您阅读本文!如果此文对您有所帮助,请毫不犹豫的一键三连吧!本文主要介绍在SpringMVC框架整合Junit框架进行单元测试。闲话少述,让我们直入主题。
116 0
|
容器
NestJS 原理探究之——依赖注入(续)
NestJS 原理探究之——依赖注入(续)
266 0
|
设计模式 前端开发 Java
java面试题:Spring 框架中都用到了哪些设计模式?
java面试题:Spring 框架中都用到了哪些设计模式?
java面试题:Spring 框架中都用到了哪些设计模式?
|
Java API 开发工具
spring4.1.8扩展实战之八:Import注解
spring框架下做开发时,@Import是常见的注解,可以用来动态创建bean,今天我们先从源码分析原理,再用实战来验证Import的作用
326 0
spring4.1.8扩展实战之八:Import注解