zoukankan      html  css  js  c++  java
  • PureMVC QA:Where Should I Declare Notification Name Constants

    [译]PureMVC QA:Where Should I Declare Notification Name Constants?

    在PureMVC中我应该在那声明通知名称常量呢?

    Q:我想知道在哪声明通知(Notification)名称的常量,在代理(Proxies)或ApplicationFacade文件中?

    还有,如果我把所有的通知常量声明在ApplicationFacade中,这样这个文件就会很大,我想过把声明放在一个独立的文件中,这样可以吗,或还有其他地方可以声明常量吗?

    A:

    把通知常量声明在具体的Façade(一般为ApplicationFacade)中对需要访问通知常量的类来说不失为一个好地方,尤其对于Command和Notification映射而言,放在ApplicationFacade中是一个合理的地方。当然,如果有太多的常量,放在一个单独的ApplicationConstants文件中也是可以的。但是需要把这个文件放在与ApplicationFacade的同一级目录,这样,当作为一个库的时候就特别方便了。

    对于给定的应用,视图层和控制层一起完成特定的用户用例或功能,但Mediators(视图层)和Commands(控制层)相互引用对方的常量这一定不是你想要的,否则,他们与在同一层次就没有区别了。所以,把常量发在ApplicationFacade或ApplicationConstants中就是一个比较自然的地方,让视图曾和控制层之间没有形成依赖关系。

    由于应用特定的视图层和控制层总是允许你与特定的模型交互,在模型层(Proxies或ModelConstants)定义通知常量供Commands(控制层)和Mediators(视图层)访问是一个好办法,他允许与Proxies直接交互。

    无论怎样,模型应该是最为独立的一层,以便可以整体移到其他应用中,被不同的视图或控制层使用。

    因此,模型层(Proxies)不应该引用特定的视图或控制器中的常量,比如ApplicationFacade或ApplicationConstants。

    你应该在模型中定义它自己发出的通知常量,这样,模型层就是一个可移植的。这也是为什么Proxies不接收通知的原因,你想,假如模型试图监听在应用其他地方定义的通知,这样模型就依赖于视图或控制层了。

  • 相关阅读:
    修改flex应用默认的装载界面 (转载)
    Map Tile 切图小工具 (转载)
    Virtual Earth Tile Image URI 参数解析(收集,学习VE插件必看)
    WorldWind学习系列十五:如何切割影像和DEM数据及其在WW中的应用配置
    ArcGIS Server建立缓存(切图)原理解析[图解] (转载)
    自制户外登山地图傻瓜书(转载)
    WorldWind学习系列十二:Measure插件学习
    MySQL备份
    aptitude包管理工具
    MySQL的Limit查询
  • 原文地址:https://www.cnblogs.com/yin138/p/4902243.html
Copyright © 2011-2022 走看看