cairongorm和pureMvc。结合一段时间的实践,我认为,这些框架均不实用。
cairongorm过于死板,完成一个工作需要N多类。
pureMvc虽然比较灵活,考虑了视图的复用。但是工程大而视图复用很少的时候,使用这个框架非常不合适。
因为不论cairongorm和pureMvc都是基于事件(消息),一个事件(消息)发出后,就很难知道那些组件对这些事件和消息感兴趣,也很难知道那个组件对这个消息或者事件进行了监听和处理。造成程序的调试和维护相当困难。很多隐藏的BUg都是因此而产生的。
所以建议不要使用这两个框架。我们在项目中因使用PureMvc吃了很多苦头,希望后来者重视。
我建议开发者按照如下思路进行Flex开发。
1.写一个mxml文件和一个as文件,二者名称相同但是扩展名不同。
2.mxml文件作为视图(和部分控制),as文件作为module(和部分控制)。
module上定义视图所需要的数据和数据的处理逻辑(比如,获取远程的数据等)。
mxml上的控件绑定module上的数据。module无需知道mxml,mxml在创建时需要引用module。
3.当用户操作界面发生请求需要处理数据时,mxml上的响应控件事件的处理函数调用module上的方法,改变数据,改变后的数据通过绑定功能自动地刷新界面(mxml所生成的swf)。
这样做的最大好处就是便于调试,其次是把视图部分和数据以及数据处理部分分离,当视图上的控件发生变化不会影响数据处理的业务。
当实在需要视图复用时,可以考虑使用pureMvc框架。另外,使用pureMvc要注意在你的窗口关闭时要及时清除已经注册的资源,否则会导致内存泄露。