Cairngorm框架使用心得

在具体谈及 Cairngorm 框架之前,我想先谈谈使用框架的必要性,也就是为什么要使用框架。(初学者可以看一下,高手略过)




凡是了解软件工程的人,都知道,软件工程其实不是纯粹的工程学,更是一门复杂的管理学课程。软件,完全由人来编写,写代码就像写文章一样,带有很浓厚的主观色彩,即使是制定各种编程规范,也无济于事。




但是这偏偏就是属于工程学,需要黑白分明,要达到预期目标,要按时完成,要方便以后代码重用,如何管理好,就一门学问,这就需要软件工程,需要设计模式,需要框架。




不同的语言推崇着不同的框架,但都是大同小异,本质上都是三层架构, Flex 里面使用的比较广泛的是 Cairngorm 框架。




Cairngorm 框架主要包括以下 7 个部分:




数据组: ValueObject,Model




控制组: Command,controller event Delegate




界面组: View




这么分类,其实就是按照三层架构的思想来分的,下面简单谈谈每个包的作用:




ValueObject :顾名思义,就是值对象;它的作用主要有这样几个:




1.       包含整个程序中所需传递的数据,比如,界面输入的值,后台获取的值,等等;




2.       对界面对象的控制;




举例:我们常常会遇到这样的问题,在一个控件 A 中项要操作另一个控件 B ,比较麻烦,论坛上也常有这种问题。其实我们完全可以在 valueObject 里面声明一个 B 控件的引用,然后在 A 中就可以操纵 Model 中的 valueObject 对象里面的 B 控件的引用(因为是按引用传递的),就可以达到控制 B 的目的。




3.       对数组绑定对象的控制,如 list ,将其绑定在一个数组,通过改变数组就可以改变该 List




4.       防止 flag 变量;




5.       可以用在自定义事件中,传递参数;




Model model 主要就是利用 ValueObject 来实现全局变量,(注意:在 Flex 中是没有全局变量一说的),所以使用 Model 和单例模式,来实现全局数据的控制。(什么是单例模式?就是一个类,在一个程序中,只存在一个对象。这个概念在 java 中也有用到)。




   




以上介绍的是数据组,接着是控制组。




Command command 其实就是函数,继承自 Command 类。




Event event 的功能就是给界面调用 command 提供方便。




Controller :真正使 command event 发生关系的,还是 controller 。它其实相当于添加事件监听,触发某某事件,该相应什么 command ,都在这里面定义。




Delegate 对于远程数据的访问, Cairngorm 是以用委托类,来获取数据然后传给调用函数。




所以,可以看出,在控制方面, Cairngorm 框架很有优势的。




接下来就是 View 了。




Flex 的一大好处,就是方便模块化编程, View 包里面就是放的是自定义组件,在设计阶段,设计好的各个模块,都可以放置在这个包里面。以备以后代码重用

转载于:https://www.cnblogs.com/tianlangshu/archive/2012/04/30/2477075.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值