Flex的出现不只是解决了浏览器的不足,而且更加多元化,对用户更加友好 更加丰富,吸引程序员的眼球。可惜的是表显层如果处理不好业务逻辑非常杂乱。简直就是污染。所以我们是不是重构一下呢!好。。我们看看MVC。把这个架构模式放到表显层是一贯作风。我们来看看M 层
[Bindable]
public class ModelLocal extends EventDispatcher
{
public var name:String;
public var age:int;
private static var instance:ModelLocal;
public var teacher:Teacher;//存放数据
public static function getInst():ModelLocal{//单例 统一存取
if(instance==null){
instance=new ModelLocal();
}
return instance;
}
public function ModelLocal(target:IEventDispatcher=null)
{
super(target);
}
}
}
我们再来看看C层
public class proControl
{
public var theModel:ModelLocal=ModelLocal.getInst();
public static var helloEvent:String="helloevent";
public function proContra()
{
}
public function getTeacher():void{
var teacher:Teacher=new Teacher();
teacher.name="nic";
theModel.teacher=teacher;//存放数据
}
public function getData():void
{
theModel.name="hello i love you";;//存放数据
theModel.dispatchEvent(new Event(proContra.helloEvent));//分发事件
}
}
上面是把数据推和拉的过程。这方面可以看看观察模式
好。最后可以看看V层
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="getTeacher();">
<mx:Script>
<![CDATA[
import com.source.bean.*;
import mx.controls.Alert;
var conn:proContra=new proContra();
var model:ModelLocal=ModelLocal.getInst();
private function getTeacher():void{
conn.getTeacher();
model.addEventListener(proContra.helloEvent,hellohadler);
}
private function hellohadler(evt:Event):void
{
Alert.show(model.name);
}
private function goTo():void
{
conn.getData();
}
]]>
</mx:Script>
<mx:TextInput x="190" y="104" text="{model.teacher.name}"/>
<mx:Button x="190" y="203" label="Button" click="goTo();"/>
</mx:Application>
看看表示层是否干净了很多呢!
分享到:
相关推荐
在Flex 4.6开发环境中使用PureMVC,可以帮助开发者遵循经典的Model-View-Controller(模型-视图-控制器)架构,提高代码的可维护性和可扩展性。 **PureMVC简介** PureMVC是用AS3编写的轻量级框架,它将业务逻辑、...
Flex中的MVC模式是一种软件设计模式,用于组织和分离应用程序中的业务逻辑、用户界面和数据模型。MVC代表Model(模型)、View(视图)和Controller(控制器)。这种模式在Flex开发中尤其重要,因为它有助于创建可...
- **概念**:外观模式提供了一个统一的接口来访问子系统中的一组接口,PureMVC中的外观则作为与核心层交互的唯一入口。 - **职责**: - **具体外观**:根据具体需求定制不同的外观类,以适应不同项目的需求。 - ...
在Flex Pure MVC中,模型组件通过注册为“观察者”来监听其他层的事件,确保数据的一致性。 - 注册模型代理(Proxy)用于处理与服务器的数据交换,可以实现数据的加载、存储和转换。 - 注册实体(Mediator)则用于...
在Flex PureMVC中,实现页面跳转通常涉及以下步骤: 1. **创建Mediator**:页面或组件通常对应一个Mediator类,它负责监听用户操作并触发相应的跳转。Mediator在初始化时注册对相关UI元素的监听器,并在接收到消息...
在“Flex PureMVC例子”中,我们可以看到如何在实际项目中应用PureMVC,以便更好地理解和学习其工作原理。 首先,PureMVC定义了四个主要角色:Model(模型)、View(视图)、Controller(控制器)和Proxy(代理)。...
Flex纯MVC框架是Adobe Flex开发中的一个轻量级设计模式实现,主要目的是为了提高代码的组织性和可维护性。PureMVC是一个经典的多层架构设计模式,它为ActionScript和Flex开发者提供了一种结构化的编程模型。在这个...
标题提到的“flexMVC”就是关于Flex平台下实现MVC架构的两个著名框架——Cairngorm和PureMVC。 Cairngorm是Adobe的官方MVC框架,它为Flex开发者提供了一套结构化的方法来构建复杂的Flex应用。Cairngorm的核心组件...
在纯MVC中,控制器包含命令(Command)对象,每个命令对应一个特定的用户操作或系统事件。当收到通知时,控制器会创建适当的命令实例来处理事件,并调用命令的方法。 **纯MVC框架在Flex中的应用** 在Flex项目中,纯...
5. **事件处理**:观察如何在Flex和PureMVC中使用事件模型,以及如何通过事件监听和分发来触发应用程序的行为。 6. **项目结构**:学习如何组织一个Flex项目,以便于维护和扩展。 7. **Flex与PureMVC集成**:理解...
Cairngorm就是一种在Flex中广泛采用的轻量级MVC框架。 Cairngorm由Adobe的首席架构师Rob Tarran创建,它为Flex应用提供了简单但强大的结构,使得开发者能够更好地管理应用程序的状态和业务逻辑。这个框架的核心组件...
1. **Model(模型)**:在PureMVC中,模型层负责处理业务逻辑和数据管理。模型组件通常包含业务实体和代理类。业务实体是数据对象,而代理类作为模型与视图之间的桥梁,负责通知视图模型数据的改变。 2. **View...
在PureMVC中,Model通常通过Proxy类来实现,Proxy类与数据源(如数据库、XML文件)交互,执行数据的读写操作。当Proxy完成数据操作后,会发送Notification通知其他层。 - **View(视图)**:View层负责显示用户界面...
在Flex中,我们可以使用 Cairngorm、Mate、Swiz 或 RobotLegs 等库来实现MVC中的模型层。 2. **视图(View)**:视图是用户看到和与之交互的界面元素。在Flex中,MXML文件通常用来定义视图组件,如按钮、文本框等。...
在IT行业中,构建高效、可扩展的企业级应用是一项复杂任务,而"Flex pureMVC blazeDS j2ee Spring3.0+Hibernate3.0"这个主题涵盖了前端开发、后端架构以及数据持久化等多个关键领域。下面将详细介绍这些技术及其在...
Flex MVC框架是Adobe Flex开发中的重要工具,它主要用于构建可维护性和可扩展性极强的富互联网应用程序(RIA)。在Flex开发中,MVC(Model-View-Controller)设计模式被广泛采用,因为它能有效地分离业务逻辑、数据...
在Flex MVC中,控制器通常是ActionScript类,它们监听视图中的事件,然后调用模型的方法或者更新视图的状态。 **Flex框架对MVC的支持**:Adobe Flex SDK提供了一套强大的框架,如 Cairngorm、PureMVC、Mate 和 Swiz...
在这个实例中,当用户在Flex前端进行操作时,PureMVC会调用BlazeDS,BlazeDS再通过Spring服务接口与Hibernate进行数据交互。Hibernate根据业务需求执行相应的SQL语句,操作MySQL数据库,然后将结果返回给BlazeDS,...