關於JSI裝飾引擎改進的一些想法

2021-08-29 21:08:15 字數 944 閱讀 4445

今天看到[url=大俠發布的sui,也看了一些設計及實現原理。覺得也應該吧自己以前的一些想法拉出來曬曬,交流一下,也希望對sui的發展能有些參考價值,僅供參考而已。

文章是一年前寫的,而且這些想法也在我jsiside中得到實現。與sui重灌出擊的風格不同的是我在jsiside中的實現是非常輕量級的。

[quote]

* 標籤約定

o 放棄以前的自定義標籤形式,而採用自定義屬性

* 屬性約定

o 通過-字元切分單詞,能後使用駱駝風格轉換成屬性,賦值給裝飾器物件

o 可以通過 #{}取指令碼返回值,以定義複雜屬性,和非字串型的屬性。

* id自動生成

o 沿用1.0的方式,獲取或自動生成html元素id,而不記錄html元素物件。

* 裝飾器裝載

o 決定拋棄1.0中的provider屬性,直接使用 d:class 屬性指明裝飾器類路徑。

o 也可以設定預設裝飾器包,裝載裝飾器時,探測預設包中是否存在指定的類名,不存在則按照完整路徑尋找並非同步裝載裝飾類。

* 建構函式

o mydecorator(engin,parentdecorator);

o 構造器中傳入裝飾引擎物件和父裝飾器,是否記錄自行決定。

* 初始化

o 當裝飾器例項身成後,立即更具元素屬性,自動設定html標籤中指定的屬性集。

* before

o mydecorator.prototype.before(child1,child2,child3...)

o 傳入子裝飾器元素,這時子裝飾器緊緊執行了建構函式,賦值操作,並未執行before方法。

* decorate

o mydecorator.prototype.decorate(child1,child2,child3...)

o 傳入子裝飾器元素,這時子裝飾器已經完成了全部行為。

[/quote]

關於氣泡排序的一些改進

恢復內容開始 氣泡排序 一般氣泡排序我們都很容易想到以下的方法,但事實上氣泡排序還有一些地方可以改進。最主要的方法是引入標誌位。最後一行是輸出的結果 改進方案一 看到上面執行結果,第4,5,6,7趟都是沒有發生逆序對的互換,但演算法還是依舊進行了比較。為此,引入乙個排序標誌。最後一行是輸出的結果 由...

關於裝飾者模式的一些理解

裝飾者模式,主要是為了解決在對類進行擴充套件過程中可能出現的子類 並同時滿足 對擴充套件開放,對修改封閉 的原則。我們以遊戲中的 作為例,遊戲中的 有基本的傷害值,有附加的特效,特效的種模擬較多,且同乙個 會帶有多種特效,例如傷害增強10 攻擊速度增強20 等等,若採用繼承的方式來做,就會產生子類 ...

關於群智慧型優化演算法的一些雜想

群智慧型優化演算法個人認為最本質的就是迭代演算法,而針對單一演算法所存在的缺點如易區域性收斂 全域性搜尋能力差等 根據不同的演算法內部迭代過程的所呈現出的不同機理,這就使演算法與演算法之間的混合有了理論基礎,關於混合演算法現說下自己的若干思路 兩種演算法交叉迭代,再與兩種演算法的效能相比較,這也是一...