当前位置: 首页 > news >正文

中山建设监理有限公司 网站四川做网站的公司有哪些

中山建设监理有限公司 网站,四川做网站的公司有哪些,软件开发文档国标,张家港做网站优化价格PureMVC#xff08;AS3#xff09;剖析#xff1a;吐槽 写在前面 世上没有银弹——不存在适用于所有情况的框架#xff0c;只有适合的框架。再者任何一个好的东西#xff08;语言、框架等#xff09;最终还取决于用的人#xff0c;语言和框架本身并不能保证用户的代码清… PureMVCAS3剖析吐槽 写在前面 世上没有银弹——不存在适用于所有情况的框架只有适合的框架。再者任何一个好的东西语言、框架等最终还取决于用的人语言和框架本身并不能保证用户的代码清晰、解耦等当然它只是尽可能地做到这点。所以记住我写这篇不是为了否定PureMVC相反是为了更好的了解它、使用它。 1. 吐槽一过于强调解耦 PureMVC引入了多种设计模式、消息机制使用观察者模式发布/订阅模式来解耦各个模块它确实做到了这点但是彻底解耦是需要代价的 1.1. Notification消息命名及管理复杂 PureMVC为了做到跨平台使用Notification来实现模块间通信而非Flash原生的EventDispatcher/Event机制。然而Notification使用字符串来定义消息存在以下“问题”。 注Notification并不是Event的替代物。一般情况下Mediator给其视图组件添加Event侦听器按常用方式处理然后给目标Command/Mediator广播Notification。 n 消息ID为字符串虽然字符串可以做到编译时解耦但无法做到消息强类型这样错误将推迟到运行时才能发现。 n 消息命名在一个大型项目中需要一套详细的规则。相信我否则你会吃苦头的。特别是多人参与项目中如果没有按照一定规则命名命名冲突可是会让你调试一阵。但不管你如何定义命名规则【记住】为了模块间解耦Notification发布者应该不关心谁对这个消息感兴趣谁来处理感兴趣者自行注册Mediator通过listNotificationInterests注册、Command通过facade.registerCommand()注册。例如当Proxy中用户信息改变时不应该sendNotification通过“UpdateUserInfoVIew”、“UpdateFriendListView”2个通过来分别更新用户信息、好友列表中对应用户的信息而只是发送一个通知如“UpdateUserInfo”用户信息栏、好友列表都注册这个消息然后分别处理。 n 无法知道Notification的源头。然而这点可以通过在消息体body中增加字段标识如 sendNotification(ApplicationConstants.UPDATE_LEVEL_DATA, { noticeSource: this, levelData: m_levelData } ); noticeSource标识消息来源如果您还想要知道消息传递层次可以用数组表示顺序插入传递者。 1.2. 强松耦合加重通信次数 PureMVC中模块间通信推荐使用Notification机制但是全部使用Notification这种强松耦合模式①强松耦合加重通信次数②带反馈数据的通信加重通信负担。 图UI使用Notification修改Proxy中的数据通信过程 PureMVC中UI修改Proxy的数据并返回后刷新过程Mediator收到UI提交事件后发送Notification消息给CommandCommand进行业务逻辑处理调用Proxy接口修改数据这里还可能涉及到与服务器通信,然后发消息给Mediator刷新Mediator收到消息调用UI接口刷新。 因为都是消息机制整个流程很长而且Proxy中对数据进行操作后发送Notification时可能需要携带修改后的数据可能是来自服务器的数据。这个过程不仅通过次数多而且带反馈数据的消息增加通信负担。另一方面要调试这个过程我们只能在编译的时候找出一步一步的通信流程才能跟踪调试。 2. 吐槽二解耦增加了代码量不方便调试 解耦的同时将使项目修改的复杂程度提高某些解耦的办法还会增加代码量、降低执行效率。PureMVC是一个强解耦的框架其效率本身不是很高函数调用层次较深而有时根本不清楚消息发到了哪里。 PureMVC为了实现解耦增加了代码量不方便调试但哪个MVC框架不是呢这不是PureMVC的问题已经有前辈编写了PureMVC模版如FlashDevelop的模板下载使用模板可以减少手动编写代码量但不能减少类的数量。 有篇文章详细介绍了PureMVC的耦合与解耦耦合与脱耦——深入分析为什么使用pureMVC、接口或抽象基类入口http://bbs.9ria.com/thread-161667-1-1.html 3. 吐槽三过度使用单例模式 单例模式过于万能属于高耦合写法。PureMVC中有4个单例Model、View、Controller、Façade。我们可以通过Model、View、Controller的getInstance()方法获取实例并对他们进行操作。然而Façade是用于管理Model、View、Controller并对外提供接口。如果Model、View、Controller对外不可见为什么要设定为单例而不是Façade的成员变量呢 4. 总结 上面说了一些PureMVC的缺点不过总体来说PureMVC还算一个优秀的框架解耦彻底、灵活性高。 本文转自吴秦博客园博客原文链接http://www.cnblogs.com/skynet/archive/2013/02/17/2914742.html如需转载请自行联系原作者
http://www.huolong8.cn/news/83216/

相关文章:

  • 北航网站建设邹城市建设银行网站
  • 做网站义乌html代码翻译器
  • wordpress企业建站视频教程手机版网站原理
  • 哈尔滨市建设工程交易中心网站电话销售企业网站怎么做
  • 信阳网站建设酒店做网站
  • 模板网站建设公司做网站多少钱一年
  • 网站如何在工信部备案信息乐清市做淘宝网站公司
  • 家具网站源码临夏市做网站电话
  • 保定建设招聘信息网站wordpress linux密码
  • 大型定制网站最贵建设多少钱浏览广告赚钱一天100元
  • ps怎样做网站首页图wordpress paypal转账
  • 响应式网站是什么意思在线咨询网站开发价格
  • 济南网站建设92jzh网站手机pc同步
  • 合肥那个公司做网站优化好做视频网站用网站空间还是服务器
  • 设计素材网站排行榜前十名苏州网站小程序app开发公司
  • 优化 导航网站网站空间多少钱一年
  • 58同城如何发广告衡阳企业网站排名优化
  • 网站个人中心wordpressdelphi7网站开发
  • 宜城市城乡建设局网站备案wordpress ajax 翻页
  • 大连好的网站建设公司百度认证中心
  • 网站怎么做图片转换vs2010 网站开发
  • 网站防止镜像营销策划运营培训机构
  • 网站上的产品介绍如何做安卓手机怎么做网站
  • php网站怎么用mysql新建数据库欧亚快递100
  • 网站开发文档 php乙肝能治好吗
  • 长沙营销企业网站建设小程序登录的具体流程
  • 网站建设公司不挣钱的原因苏州seo公司排名
  • 外贸网站优化谷歌关键词排名外包学校官网
  • dedecms网站后台模板修改网站安全建设
  • 做vi 设计国外网站网站建设服务好公司排名