MODEL-View-Presenter(MVP)模式在FLEX下的开发实例

来源:互联网 发布:北京金蝶软件代理商 编辑:程序博客网 时间:2024/05/22 14:36

好久没有写点文字了。最近有个项目要求立足于RIA。之前想自己用DELPHI+REMOBJECTS, 但不理想。于是我选择了FLEX来搞。先前的DELPHI、C#相互沟通的博文已经说过了各种开发语言的共性,这次也不例外,高举我的MVP大旗,直接开战。(AS3的语法和JAVA、C#、DELPHI都有很相似之处勒,呵呵。其实我还很陌生)。先搞一个老外的例子来修正,开发思路依旧按照Jeremy Miller的来搞。

 

例子很简单,一个1+1的算术

 

package com.vinoth.MVP.view{public interface IAddView{function set Number3(value:String):void;function get Number1():Number;function get Number2():Number;  function set Addbuttonclicked(value: Function): void;}}package com.vinoth.MVP.presenter{import com.vinoth.MVP.view.IAddView;public class AdditonPresenter{import mx.controls.Alertpublic var _view:IAddView[Bindable]public var totalValue:Numberpublic function addData():void{totalValue = Number(_view.Number1+_view.Number2);_view.Number3 = String(totalValue);}public function AdditonPresenter(view:IAddView){_view = view;_view.Addbuttonclicked = addData;}}}<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"          layout="vertical" verticalAlign="middle" backgroundColor="white" viewSourceURL="srcview/index.html"   creationComplete="init()"><mx:Script><![CDATA[import com.vinoth.MVP.view.AdditionForm;import com.vinoth.MVP.presenter.AdditonPresenter;import mx.containers.VBox;private const MAX_CHILDREN:uint = 5;public function init():void{var additionForm:AdditionForm = new AdditionForm();additionForm.percentHeight = 100;additionForm.percentWidth = 100;accordion.addChild(additionForm)new AdditonPresenter(additionForm);}]]></mx:Script><mx:ApplicationControlBar dock="true"><mx:Button label="Add child"    /><mx:Button label="Delete child"    /></mx:ApplicationControlBar><mx:Accordion id="accordion" width="400" height="300" /></mx:Application>


 

<?xml version="1.0" encoding="utf-8"?><mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" width="350" height="200" implements="com.vinoth.MVP.view.IAddView" creationComplete="init()" backgroundColor="#A0D2FD" backgroundAlpha="0.5" title="Addition of Two Numbers"><mx:Script><![CDATA[            private var _addbuttonclicked: Function;private function init():void{    btnadd.addEventListener(MouseEvent.CLICK, buttonclick);}public function get Number1():Number {return Number(_Number1.text);}public function get Number2():Number{return Number(_Number2.text);}public function set Number3(value:String):void{_Number3.text = value; }public function set Addbuttonclicked(value: Function): void{_addbuttonclicked = value;}public function buttonclick(evt:MouseEvent):void{_addbuttonclicked();}]]></mx:Script><mx:Form width="100%" height="50%"><mx:FormItem label="Number One" width="100%"><mx:TextInput id="_Number1" editable="true" width="100%" restrict="0-9"/></mx:FormItem><mx:FormItem label="Number Two" width="100%"><mx:TextInput id="_Number2" editable="true" width="100%" restrict="0-9"/></mx:FormItem></mx:Form><mx:HBox width="100%"><mx:Label text="Result" /><mx:Label width="100%" id="_Number3" /><mx:Button id = "btnadd" label="Add" /></mx:HBox></mx:Panel>


 

 

 

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 裙子没有解开超市的锁怎么办 接待老外听不懂他说的怎么办 脚脱皮又痒又臭怎么办 成都应聘平面模特被骗了怎么办 文明6开场一堆蛮族怎么办 幼儿园里出了水痘怎么办 穿高跟鞋脚容易出汗怎么办 粗跟鞋走路太响怎么办 粗跟鞋鞋跟很响怎么办 皮鞋跟走路太响怎么办 穿高跟鞋脚崴了怎么办 高跟鞋小了一码怎么办 高跟皮鞋磨脚怎么办 大同同煤集团三供一业人员怎么办 小孩被猫咪抓了怎么办 长得特别丑的人怎么办 锅巴放的不脆了怎么办 淘宝买到假货了怎么办 单位不给解约函怎么办 安卓个人热点打不开怎么办 密码忘记无法进入主机怎么办 流放之路w10闪退怎么办 电脑网站被劫持了怎么办 苹果手机浏览器被劫持怎么办 苹果手机网站被劫持怎么办 a37手机网站被劫持怎么办 耳朵被震的耳鸣怎么办 液晶电视怎么办断屏坏还是逻辑板 门保险拧坏了怎么办 锁的保险坏了怎么办 鞋子里面长霉了怎么办 塑料瓶盖滑丝了怎么办? 塑料杯盖滑丝了怎么办 洗衣机上的订子很难扭出来怎么办 滚筒洗衣机坏了打不开门怎么办 海尔滚筒洗衣机打不开门怎么办 格兰仕滚筒洗衣机门打不开怎么办? lg洗衣机洗完衣服门打不开怎么办 lg洗衣机不能冼衣服怎么办 vivo账户密码忘记了怎么办 oppo账户密码忘记了怎么办