`
nivcheral
  • 浏览: 71147 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Flex中MVC

    博客分类:
  • ajax
阅读更多

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>

 

看看表示层是否干净了很多呢!

2
0
分享到:
评论
1 楼 LEI1985 2009-01-07  

相关推荐

    Flex puremvc 实例及说明(flex 4.6开发环境)

    在Flex 4.6开发环境中使用PureMVC,可以帮助开发者遵循经典的Model-View-Controller(模型-视图-控制器)架构,提高代码的可维护性和可扩展性。 **PureMVC简介** PureMVC是用AS3编写的轻量级框架,它将业务逻辑、...

    flex的mvc模式

    Flex中的MVC模式是一种软件设计模式,用于组织和分离应用程序中的业务逻辑、用户界面和数据模型。MVC代表Model(模型)、View(视图)和Controller(控制器)。这种模式在Flex开发中尤其重要,因为它有助于创建可...

    flex pure mvc框架

    在Flex Pure MVC中,模型组件通过注册为“观察者”来监听其他层的事件,确保数据的一致性。 - 注册模型代理(Proxy)用于处理与服务器的数据交换,可以实现数据的加载、存储和转换。 - 注册实体(Mediator)则用于...

    Flex PureMVC页面跳转

    在Flex PureMVC中,实现页面跳转通常涉及以下步骤: 1. **创建Mediator**:页面或组件通常对应一个Mediator类,它负责监听用户操作并触发相应的跳转。Mediator在初始化时注册对相关UI元素的监听器,并在接收到消息...

    Flex PureMVC例子

    在“Flex PureMVC例子”中,我们可以看到如何在实际项目中应用PureMVC,以便更好地理解和学习其工作原理。 首先,PureMVC定义了四个主要角色:Model(模型)、View(视图)、Controller(控制器)和Proxy(代理)。...

    Flex pureMVC 资料例子打包

    Flex纯MVC框架是Adobe Flex开发中的一个轻量级设计模式实现,主要目的是为了提高代码的组织性和可维护性。PureMVC是一个经典的多层架构设计模式,它为ActionScript和Flex开发者提供了一种结构化的编程模型。在这个...

    flexMVC

    标题提到的“flexMVC”就是关于Flex平台下实现MVC架构的两个著名框架——Cairngorm和PureMVC。 Cairngorm是Adobe的官方MVC框架,它为Flex开发者提供了一套结构化的方法来构建复杂的Flex应用。Cairngorm的核心组件...

    pureMVC源码实例(flex的mvc框架)

    在纯MVC中,控制器包含命令(Command)对象,每个命令对应一个特定的用户操作或系统事件。当收到通知时,控制器会创建适当的命令实例来处理事件,并调用命令的方法。 **纯MVC框架在Flex中的应用** 在Flex项目中,纯...

    flex puremvc demo

    5. **事件处理**:观察如何在Flex和PureMVC中使用事件模型,以及如何通过事件监听和分发来触发应用程序的行为。 6. **项目结构**:学习如何组织一个Flex项目,以便于维护和扩展。 7. **Flex与PureMVC集成**:理解...

    Flex流行MVC框架之Cairngorm小试牛刀

    Cairngorm就是一种在Flex中广泛采用的轻量级MVC框架。 Cairngorm由Adobe的首席架构师Rob Tarran创建,它为Flex应用提供了简单但强大的结构,使得开发者能够更好地管理应用程序的状态和业务逻辑。这个框架的核心组件...

    flex puremvc例子

    1. **Model(模型)**:在PureMVC中,模型层负责处理业务逻辑和数据管理。模型组件通常包含业务实体和代理类。业务实体是数据对象,而代理类作为模型与视图之间的桥梁,负责通知视图模型数据的改变。 2. **View...

    Flex PureMVC 框架

    在PureMVC中,Model通常通过Proxy类来实现,Proxy类与数据源(如数据库、XML文件)交互,执行数据的读写操作。当Proxy完成数据操作后,会发送Notification通知其他层。 - **View(视图)**:View层负责显示用户界面...

    flex mvc 架构图

    在Flex中,我们可以使用 Cairngorm、Mate、Swiz 或 RobotLegs 等库来实现MVC中的模型层。 2. **视图(View)**:视图是用户看到和与之交互的界面元素。在Flex中,MXML文件通常用来定义视图组件,如按钮、文本框等。...

    Flex pureMVC blazeDS j2ee Spring3.0+Hibernate3.0

    在IT行业中,构建高效、可扩展的企业级应用是一项复杂任务,而"Flex pureMVC blazeDS j2ee Spring3.0+Hibernate3.0"这个主题涵盖了前端开发、后端架构以及数据持久化等多个关键领域。下面将详细介绍这些技术及其在...

    Flex MVC框架下载

    Flex MVC框架是Adobe Flex开发中的重要工具,它主要用于构建可维护性和可扩展性极强的富互联网应用程序(RIA)。在Flex开发中,MVC(Model-View-Controller)设计模式被广泛采用,因为它能有效地分离业务逻辑、数据...

    flex mvc架構

    在Flex MVC中,控制器通常是ActionScript类,它们监听视图中的事件,然后调用模型的方法或者更新视图的状态。 **Flex框架对MVC的支持**:Adobe Flex SDK提供了一套强大的框架,如 Cairngorm、PureMVC、Mate 和 Swiz...

    pureMVC 实例

    在这个实例中,当用户在Flex前端进行操作时,PureMVC会调用BlazeDS,BlazeDS再通过Spring服务接口与Hibernate进行数据交互。Hibernate根据业务需求执行相应的SQL语句,操作MySQL数据库,然后将结果返回给BlazeDS,...

Global site tag (gtag.js) - Google Analytics