Flex程序框架设计 Designing a Framework for Web Deployed Applications

looknfeel// In draft version only. Please check back later.

回應

回帖晚了,帖子没了...

我不知道我的理解对不对。
1. 你的这个AAF, 是不是要比现有的框架结构,比如Cairngorm要高一层。你的这个可以按照程序的功能不同,框架帮忙划分出模块。属于高一个层的框架?
2. 你的框架也能像Cairngorm一样,来进行局域内的结构划分么。比如应用于模块内部的框架结构 (能不能像在Cairngorm的代码级别中使用)?如果可以,你的AAF是如何应对,区分不同层的程序的?
如果不可以,你的代码可以和Cairngorm等其他框架结合使用么?如果结合,岂不是要遵循两套规范,是否有简便方法?
3. 是否OPEN SOURCE, =)
4. 你的这套框架结构,对数据库的支持怎么样?只是针对Web Deployed Application 么? AIR 也可以么?比如,Cairngorm对FLEX WEB支持好些,对AIR支持的稍微若些。

没有看到东西呀!!!!

没有看到东西呀!!!!

当你的眼泪忍不住要流出来的时候,
睁大眼睛,
千万别眨眼,
你会看到世界由清晰到模糊的全过程!

AAF实际上就是OSGi的一个简化版,

AAF实际上就是OSGi的一个简化版, http://www.osgi.org/

1. 是的, 你理解的对, 比MVC更高一层. MVC的implementation譬如Cairngorm或者其它MVC'框架', 可以在模块里面使用; MVP亦可;

2. AAF只是解决最高层到模块, 以及模块交互的问题, 至于模块内部的操作这里没有定义; 当然UI模块里面还是推荐使用MVC/MVP.

3. 我会考虑, 目前来说这里面含有太多的metadata的使用, 所以要开源就要必须将它彻底分离开来, 呵呵.

4. 同2. 对AIR一视同仁, 实际上我所用的sample application就是一个Windows上面的.net的程序.

最初设计这个AAF所要解决的问题是: 我如何来优雅的转换画面 - 从显示contact的列表如何转换到calendar里面. 有什么更好的方法嘛?

再看文章 A Perfect Application of the Strategy Pattern

看到这个了。补充下刚才回帖。
现在我们用的方法是,把不变的,几个大的模块的UI放到ViewStack中,其他的一些小而杂的功能,就用popup window来实现了。用的时候弹出,不用的时候就用PopUpManager.remove() 移除掉。是否这样也相应能达到释放内存的作用?

MVC的界面切换

现在Flex的界面切换,常用的方式是把要用到的一个个界面,放到ViewStack中。然后ViewStack的selectedIndex再和一个model中的变量绑定。要是想切换界面,就改变那个model中变量的值。
不知道是否有比这样的方法再好的。好像你的是,根据需要,手动的add, remove child从父窗体中,是么?感觉这两个方法,大同小异。可能手动控制add remove child会节省内存?