Flex中Cairngorm框架组成和使用

开发 后端
本文向大家介绍一下Flex的Cairngorm框架使用,在具体谈及Cairngorm框架之前,我想先谈谈使用框架的必要性,也就是为什么要使用框架。

你对Flex中Cairngorm框架的概念是否了解,这里和大家分享一下Flex的Cairngorm框架使用,不同的语言推崇着不同的框架,但都是大同小异,本质上都是三层架构,Flex里面使用的比较广泛的是Cairngorm框架。

Flex的Cairngorm框架使用心得

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

凡是了解软件工程的人,都知道,软件工程其实不是纯粹的工程学,更是一门复杂的管理学课程。软件,完全由人来编写,写代码就像写文章一样,带有很浓厚的主观色彩,即使是制定各种编程规范,也无济于事。但是这偏偏就是属于工程学,需要黑白分明,要达到预期目标,要按时完成,要方便以后代码重用,如何管理好,就一门学问,这就需要软件工程,需要设计模式,需要框架。

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

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

数据组:ValueObject,Model

控制组:Command,controller,event,Delegate

界面组:View

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

◆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包里面就是放的是自定义组件,在设计阶段,设计好的各个模块,都可以放置在这个包里面。以备以后代码重用。

【编辑推荐】

  1. Flex模块化的目的及其步骤
  2. Flex框架Riawave的定制应用
  3. 全面认识Flex应用程序的六大元素
  4. 揭开Flex正则表达式的神秘面纱
  5. Flex数据绑定及其使用频繁的几种情况 

 

责任编辑:佚名 来源: accptech.com
相关推荐

2010-08-06 11:12:38

FlexCairngorm框架

2010-08-02 12:56:51

Flex Cairng

2010-08-05 14:25:30

Flex框架

2010-08-03 11:06:46

Flex代码规范

2010-08-13 14:29:45

Flex框架

2010-08-05 13:50:54

Flex框架

2010-08-12 15:44:25

Flex应用程序

2010-08-13 10:01:46

Flex样式定义

2010-08-04 11:04:58

Flex框架

2010-08-04 15:12:54

Flex开发

2010-08-11 10:24:46

Flex开发

2010-07-27 10:58:46

Flex

2010-08-10 17:13:58

Flex技术

2010-07-29 17:15:55

Flex

2010-08-05 14:03:32

Flex框架

2009-08-27 11:55:33

ibmdwPHP

2010-08-06 10:03:42

Flex事件

2010-08-11 13:17:07

Flex框架

2010-08-05 14:32:16

Flex框架

2010-08-12 16:10:44

Flex应用程序
点赞
收藏

51CTO技术栈公众号