自寫自用的三個架構

來源:互聯網
上載者:User

三套都是自己寫項目常用的東西,花了好多時間將它們分離出來,放到google svn裡面。不過不分開放了,整在一起命名為face-cell (臉的細包),每個架構代碼都不多,而且第三個還有bug。以後項目用到再不停完善。

 

1.asSkinStyle 皮膚樣式管理架構
通過此架構可以把皮膚產生和皮膚屬性更改用文本來控制,通過類似於css的文法。
例如:我要產生一個方形,方形裡面有一個圓形,再然後通過css改變它們的座標等屬性。

例子代碼:

            // 下面兩段代碼的意思是產生一個矩形,矩形裡面addChild了一外名為bb的圓形
var xxx:XML = XML(
<root>
<rectSR name="aa" >
<circleSR name="bb" />
</rectSR>
</root>
);

// 這兩段代碼的意思是設定aa對象的長寬x座標顏色屬性
//設定 aa對象裡面的bb對象(name屬性為aa,bb)的長寬,顏色屬性
var cssStr:String = "" +
"aa{x:100;width:50;height:50;bgColor:0xFF0000};" +
"aa bb{width:30;height:30;bgColor:0x00FF00;y:10};";

// 產生管理器
var mgr:AsSkinStyle = new AsSkinStyle(xxx,cssStr,(new XMLSkinParser()),(new CssStyleParser()));

// 擷取根下面名為aa的皮膚
var skin:DisplayObject = mgr.createSkinUI("aa");
addChild(skin);

2.asCachePool 緩衝架構
此架構用LRU演算法緩衝和回收管理緩衝。架構分三部份,記憶體緩衝;硬碟緩衝;Class,Object互轉緩衝. 前兩個常用於緩衝外部載入的swf緩衝至本地和記憶體。第三個本人常用於列表子項的產生管理。本架構代碼量不多,易學易用。

例子代碼:

// 此緩衝會硬碟和記憶體都存,取的時候會先取記憶體,無再取硬碟
var rc:RichCache = new RichCache();

var obj:TestObj = new TestObj();
// 載入資料要轉二進位才能存放到到硬碟緩衝
rc.putInCache("test1",obj);
var res:TestObj = rc.getCache("test1") as TestObj;

 

 

3.其它,xml資料繫結架構,資源載入管理架構;這兩套架構還不算完善,所以不算吧。用是能用只是解耦沒做好,畢竟是半年前寫的。
xml綁定架構可以把對象和xml互換(包括引用屬性)可以同java的xsream實現資料互換。不過跟服務端互動多半用AMF的多,有取代物,所以自己寫的自己都少用…
資源載入管理架構可以映射要載入的資源路徑和版本,載入資源的時候會先訪問記憶體、硬碟等。同cachePool連用,不過本架構解耦沒做好… 本人還沒時間整理這塊代碼。

 

SVN地址:https://face-cell.googlecode.com/svn/trunk

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.