PureMVC QA:Where Should I Declare Notification Name Constants
来源:互联网 发布:手机信号干扰器软件 编辑:程序博客网 时间:2024/06/06 03:27
[译]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不接收通知的原因,你想,假如模型试图监听在应用其他地方定义的通知,这样模型就依赖于视图或控制层了。
- PureMVC QA:Where Should I Declare Notification Name Constants
- Where should I input HTML/CSS???
- Flash Developer to Unity3D Developer – Where should I begin?
- 关于PureMVC的notification机制
- I tried it, and wanted to know when and where i should put the summary
- PureMVC QA:Why can't Proxies hear Notifications?
- constants
- Constants
- I Should Never Doubt
- I should face failure
- what should I do?
- What should i do?
- What should I do?
- What should I do.
- function name should be lowercase
- puremvc
- pureMVC
- pureMVC
- 17-EMM Procedure 6. Handover without TAU - Part 2. X2 Handover
- 18-EMM Procedure 6. Handover without TAU - Part 3. S1 Handover
- iOS经典讲解之异步加载图片类的封装
- ABBYY FlexiCapture 帮助韩国商人申请产品专利
- IOS -- iOS 8 CoreLocation 中状态栏(StatusBar)的细节问题
- PureMVC QA:Where Should I Declare Notification Name Constants
- 19-EMM Procedure 7. Cell Reselection without TAU
- js去掉文本前后空格与阻止表单提交
- 脚本乐园 shell 中对小数进行比较的方法总结
- [LeetCode] ZigZag Conversion
- 前缀、中缀、后缀表达式
- 20-EMM Procedure 8&9. Handover & Cell Reselection with TAU
- 自定义控件属性大全,format
- 【JVM】关于垃圾回收