Flex Robotlegs

一.基于Robotlegs框架 flex应用基本组成

  1. ProjectNameContext.as

    • 用于配置 Robotlegs 的映射
  2. ProjectName.mxml
    • 应用的根视图 ,并且负责初始化 ProjectNameContext
  3. ProjectName-app.xml
    • 应用的基础配置
  4. Controller
  5. Service
  6. Mediator
    • 模块控制器
  7. View
  8. Model
  9. Event

二.组件使用

1.ProjectNameContext

①继承 Context类

②重写构造器

public function ProjectNameContext(contextView:DisplayObjectContainer=null, autoStartup:Boolean=true){
    super(contextView, autoStartup);
}

autoStartup 用以设定是否自定执行 autoStartup()方法

③重写startup 方法 一般用于配置各种注入关系

override public function startup():void{
    //Controller   此处应该默认为事件派发器的事件
    commandMap.mapEvent(LoginEvent.LOGIN_EVENT,   LoginCommand);

    //Model   注入Model
    injector.mapSingleton(UserModel);

    //Services        指定接口,对应的注入类
    injector.mapSingletonOf(ILoginService, AppLoginService);

    //View     为模块控制器 注入对应视图
    mediatorMap.mapView(LoginView, LoginMediator);
    mediatorMap.mapView(RootView, RootMediator);

    //Startup complete
    super.startup();
} 

④初始化

在应用的根视图 ProjectName.mxml下调用

<fx:Declarations>
    <!-- 应用的MVC配置类初始化 -->
    <local:ProjectNameContext contextView="{this}"/>
</fx:Declarations>

2.Controller

①继承Command

②重写构造器

public function ControllerNameCommand(){
    super();
}

③注入 Event,Service,Model

④重写execute()方法

3.Service

  1. 编写接口
  2. 继承Actor
  3. 实现接口
  4. 注入所需类
  5. 编写相关方法

4.Mediator

①继承 Mediator

②注入对应视图,model

③重写构造器

public function LoginMediator(){
    super();
}

④重写onRegister()

override public function onRegister():void {//注册事件
    //注册组件事件绑定
    //                  事件源               事件                   处理方法
    eventMap.mapListener(loginView, LoginEvent.LOGIN_EVENT, loginBtnClickHandler);
    eventMap.mapListener(eventDispatcher, LoginEvent.LOGIN_FAILED_EVENT, loginFailedCallBack);
    eventMap.mapListener(eventDispatcher, LoginEvent.LOGIN_SUCCESS_EVENT, loginSuccessCallBack);
}

⑤添加需要的函数

⑥事件转发

5.Model

  1. 继承Actor
  2. 注入时,使用[Bindable]动态绑定

6.Event

  1. 继承event
  2. 添加所需的属性
  3. 重写构造器
  4. 注意事项:

service 转发事件 用 dispatch(event);

Mediator 用 eventDispatcher.dispatchEvent(event);

视图事件只能转发到Mediator

事件先派发到controller,再到达Mediator

Flex Robotlegs的更多相关文章

  1. Flex入门(三)——微架构之Cairngorm

    大家都知道我们在开发后台的时候,都会使用MVC,三层等分层架构,使后台代码达到职责更为分明单一,高内聚低耦合,比如,Dao层仅仅是进行和数据库打交道,负责处理数据:Service(B层)仅仅是进行逻辑 ...

  2. [转]Flash、Flex、AS3.0框架及类库资源收集之十全大补

    原文地址:http://www.d5power.com/portal.php?mod=view&aid=27 APIs.Libs.Components1.as3ebaylibhttp://co ...

  3. OpenCASCADE Expression Interpreter by Flex & Bison

    OpenCASCADE Expression Interpreter by Flex & Bison eryar@163.com Abstract. OpenCASCADE provide d ...

  4. Flex 布局教程:语法篇

    作者: 阮一峰 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便 ...

  5. Flex 布局教程:实例篇

    该教程整理自 阮一峰Flexible教程 今天介绍常见布局的Flex写法.你会看到,不管是什么布局,Flex往往都可以几行命令搞定. 我的主要参考资料是Landon Schropp的文章和Solved ...

  6. CSS布局之div交叉排布与底部对齐--flex实现

    最近在用wordpress写页面时,设计师给出了一种网页排布图样,之前从未遇到过,其在电脑上(分辨率大于768px)的效果图如下: 而在手机(分辨率小于等于768px)上要求这样排列: 我想到了两种方 ...

  7. Flexible 弹性盒子模型之flex

    实例 让所有弹性盒模型对象的子元素都有相同的长度,忽略它们内部的内容: #main div { flex:1; } 复制 效果预览 浏览器支持 表格中的数字表示支持该属性的第一个浏览器的版本号. 紧跟 ...

  8. 信息系统实践手记6-JS调用Flex的性能问题一例

    说明:信息系统实践手记系列是系笔者在平时研发中先后遇到的大小的问题,也许朴实和细微,但往往却是经常遇到的问题.笔者对其中比较典型的加以收集,描述,归纳和分享. 摘要:此文描述了笔者接触过的部分信息系统 ...

  9. flex自适应高度内容高度超出容器高度自动出现滚动条的问题

    在容器中设置 flex-grow:2; overflow-y:auto;overflow-x:hidden;容器高度自适应. 内容高度不固定,无法出现滚动条,然后在容器中添加height:0,出现滚动 ...

随机推荐

  1. Ubuntu 完全卸载MySQL 重装步骤

    sudo rm /var/lib/mysql/ -R 删除mysql的数据文件   sudo rm /etc/mysql/ -R 删除mqsql的配置文件   sudo apt-get autorem ...

  2. nmon指标

    表字段分析 关键指标类型 关键指标名称 关键指标含义 SYS_SUMM CPU% cpu占有率变化情况: IO/sec IO的变化情况: AAA AIX AIX版本号: cpus CPU数量: har ...

  3. 【less和sass的区别,你了解多少?】

    在介绍less和sass的区别之前,我们先来了解一下他们的定义: 一.Less.Sass/Scss是什么? 1.Less: 是一种动态样式语言. 对CSS赋予了动态语言的特性,如变量.继承.运算.函数 ...

  4. 007---Hibernate基本映射标签和属性介绍

    一.映射文件的基本结构举例: <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-// ...

  5. 细说Linux权限

    目录: 归属权与访问权 chmod:访问权限设置 chown:所属权限设置 umask:权限掩码 隐藏属性 chattr:写保护.误删保护 单独限权 setfacl 一.归属和访问权限简介 1.归属( ...

  6. 第一天上午——HTML网页基础知识以及相关内容

    今天上午学习了HTML基础知识以及相关内容,还有DW的基本使用方法. HTML(HyperText Markup Language):超文本标记语言,超文本:网页中除了包含文本文字之外,还包含了图片, ...

  7. selenium+python等待时间

    等待时间可以有多种 1.硬等待 import time time.sleep(x)#等待x秒 2.浏览器每次查找一个元素都进行等待 import time br.implicitly_wait(x)# ...

  8. Vue 爬坑之路(四)—— 与 Vuex 的第一次接触

    在 Vue.js 的项目中,如果项目结构简单, 父子组件之间的数据传递可以使用  props 或者 $emit 等方式 http://www.cnblogs.com/wisewrong/p/62660 ...

  9. Android 图片加载框架Glide4.0源码完全解析(一)

    写在之前 上一篇博文写的是Picasso基本使用和源码完全解析,Picasso的源码阅读起来还是很顺畅的,然后就想到Glide框架,网上大家也都推荐使用这个框架用来加载图片,正好我目前的写作目标也是分 ...

  10. shell网络客户端

    需要把线上的access日志发送到另一个程序接收 开始想着用python实现,虽然python也有实现类似tail -F的方式,但太麻烦,而且效率也有折扣 偶然发现了shell可以实现网络client ...