日,剛寫完結果沒儲存就出來,只能重寫一遍,真是鬱悶...................
最近在做乙個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主要是用來更加容易的...