flex puremvc與pipe通訊的一些心得

2021-05-04 21:40:22 字數 2236 閱讀 1936

日,剛寫完結果沒儲存就出來,只能重寫一遍,真是鬱悶...................

最近在做乙個flex的專案,用到了puremvc與pipe通訊,這個框架是由之前乙個已經走了的同事搭建的,我剛看的時候一片茫然,各種鬱悶,沒辦法,還得研究 看了大概半個多月吧,多少有點心得,起碼是這個框架可以跑起來了,呵呵

pipe是什麼吶?以我的理解就是flex shell與module,module與module之間通訊的方式,當你在載入某個module時建立管道 這樣shell和你的module之間就可以通訊了 一些理論的東西 我就不說了 大家可以自己找些資料看一下 我就把搭建pipe的流程說一下

首先我們需要建立乙個類 來宣告一些管道常量 這樣可以避免我們寫錯 和清晰的理解它的意義

package com.hpcc.police.common }}

然後再shell的view層寫乙個mediator檔案 這個檔案繼承自junctionmediator 我的檔案名叫shelljunctionmediator

我只把有用的** 粘上來了 至於mediator類的模板你隨便下個就有了

直接看**吧

這裡我們需要宣告乙個object來儲存建立的管道資訊 這樣你在刪除管道的時候就可一根據名字來進行刪除

private var outmap:object = {};//這個就是儲存管道資訊的類

delete outmap[moduleid];

break;

default:

super.handlenotification(note);

break;   }}

/*** connect the module using pipes and its teemerge and teesplit(用teemerge和teesplit以及管道連線module)

* * @param module module typed as ipipeawaremodule(將module轉化成ipipeawaremodule)

*/public function connectmodule(module:ipipeawaremodule):void

/*** handle incoming pipe messages for the shelljunction.(處理傳進來給shelljunction的管道資訊)

* * @param message  message typed as ipipemessage

*/override public function handlepipemessage(message:ipipemessage):void

這樣shell到module之間的管道已經建立了 下面我們還需要建立module到module之間的管道資訊

還是直接**吧

//注意下這的處理管道資訊方式與shell到module的不一樣

override public function handlepipemessage(message:ipipemessage):void

以上兩個檔案的是在shell的view層寫的 下面改module的view層做些什麼了

//至於為什麼這麼註冊我不是特別明白,**是例子的 但是好使 希望哪位了解的朋友指點下 不明白的你就這麼寫就行了 保證沒問題的 哈哈

override public function onregister():void

override public function onremove():void

override public function listnotificationinterests():array

override public function handlenotification( note:inotification ):void

break;  }/*

* add an input pipe (special output handling for each new

* connected hellomodule).

*/case junctionmediator.accept_output_pipe:

break;

}           

}  super.handlenotification(note);//這個地方大家一定要注意下 它是寫在switch語句外面的 如果你寫在裡面了 shell到module的管道通訊就沒被註冊 這個問題折磨了我好幾天 呵呵 千萬注意啊

好了 到這基本就算完事了 至於一些細節問題我就不贅述了 希望能給剛研究這個問題的朋友一些啟發

linux下安裝pip與pip安裝

在執行指令碼的時候,說有庫找不到 pip安裝的時候說不認識pip 安裝pip 使用指令碼安裝和公升級pip 執行指令碼python3 get pip.py 檢視版本pip v 如果pip v,出現notfound,把pip加到環境變數 執行pip install 再次執行指令碼提示的是找不到下乙個第...

pip與pip3的大概區別

這裡就簡單給大家說明一下嘍 我們知道python 有python2和python3的區別 那麼當然pip也有pip和pip3的區別 pip是python的包管理工具,pip和pip3版本不同,都位於python的scripts目錄下,如圖 具體區別 如果你的系統中只安裝了python2,那麼就只能使...

pip介紹與使用

一 簡介 pip 是乙個安裝和管理 python 包的工具,python安裝包的工具有easy install,setuptools,pip,distribute等。distribute是setuptools的替代品,是對標準庫disutils模組的增強,我們知道disutils主要是用來更加容易的...