导图社区 PureMVC设计模式
这是一篇关于PureMVC设计模式的思维导图。MVC是非常著名的软件构架,将视图(表现层),控制流,模型(数据层)分开, 在web开发,UI设计等有很多应用,里面用到了23中设计模式中很多具体的模式。
社区模板帮助中心,点此进入>>
互联网9大思维
产品立项报告
产品经理如何做好项目管理
经验分享:产品经理必懂的产品思维
产品诞生过程
产品周期图
开门红的思考
招创智搜
网易星球
教学教务系统
PureMVC设计模式
MVC
MVC全名是Model View Controller,是模型(Model)-视图(View)-控制器(Controller)的缩写,一种软件设计典范,用一种业务逻辑,数据,界面显示分离的方法组织代码。
PureMVC架构在MVC基础上通过引入Mediator+事件(通知)机制很好的解决了view(视图层)与controller(控制层之间的紧耦合问题)。
各层职能
模型层Proxy
1.发送但不接收消息。2.与服务器端连接,获取与上传业务数据。3.大型网络游戏,可以进一步抽象出“数据代理服务层”,专门从事与服务器交互通信事宜。
视图层Mediator
1.发送与监听消息.2监听Component自身的事件,且转化为消息。3.设置与调用Component数据与方法。4.直接调用Proxy(推荐尽量少用)。
控制层Command
1.管理Proxy与Mediator层,负责注册,查询获取,移除等。2.直接调用多个Proxy,进行复杂业务逻辑处理。3.对(继承MonoBehaviour)的脚本做动态管理与对象加载操作。4.Command本身生命周期很短,在整个生命周期中并没有类的实例在运行,而是通过反射技术,一次性的得到类的对象(object),执行完(Execute)后结束。
生命周期
1.Mediator与Model类都是从实例化到项目结束,或者手工销毁。 2.Command控制类,生命周期是从发起一个“命令消息”,PureMVC框架内部按照事先“绑定”的对应Command类,实例化一个对象。然后Command实例执行完Execute()重载方法后,立即销毁。
涉及到的设计模式
1.单例模式:三层与Facade都是单例模式。
2.观察者模式:消息传递。
3.中介者模式:用一个中介对象来封装一系列的对象交互。整个PureMVC通过框架的约束与规则,对于外部系统(例如Unity脚本)来说,就是起到了一种"中介者"的作用,脚本之间不直接关联与调用,这就是一种架构级别的"Mediator"(中介者)设计模式的体现。
4.外观模式(Facade):为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
5.代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。
6.命令模式(Command):将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。