Openlaszlo編程規範(二)

新整理了一些,內容不算多,希望能對大家有用,儘管我也未能按照規範來做,但是規範的存在依然有意義。

Openlaszlo編程規範(第二部分)
2007/04/24

Openlaszlo編程規範第一部分主要側重與基本的編碼習慣和解決性能問題,對於解決複雜應用的編碼設計問題涉及不足,本文則主要闡述這方面的內容,並揭示一些openlaszlo開發的高級主題。

1.透徹理解openlaszlo開發的核心思想:
a)完全基於組件的應用:整個應用是由多個組件構成而不能單純由標籤構成
b)事件驅動運行:組件之間的通訊由事件負責
c)數據驅動視圖:針對數據而不是直接針對視圖進行編程

2.儘量讓減少canvas內的視圖數目
這裏的視圖指的是自定義組件,也是整個應用的各個組成部分(portlet),有幾個部分就應該有幾個組件,絕對不應該在應用(canvas)內出現view標籤。

3.充分運用event的功能
組件之間的交互(通訊)最好的途徑就是event,而且是自定義的帶組件信息的event,自定義的event解耦了組件之間的依賴,讓整個應用變得可維護、可擴展。


4.針對data編程而不是針對視圖編程
按照傳統的web開發思想,總是習慣來刷新頁面元素來達到更新視圖的目的,但是在以數據爲中心的RIA應用中,開發者所要做的是先想到視圖後面的數據,先來改變數據,以達到改變視圖的目的。


5.不要作偷懶的開發者
能獨立成組件的部分就作成組件,而不能認爲它不必要或者不是爲了重用,這樣做雖然工作量大了些,但是越到了項目的後期,尤其是需求變更時,就會發現,早期的努力是值得的。

6.不要忽略清理工作
使用過的變量,在操作結束時就應當立即清空,否則會引起很麻煩,會導致bug的產生,尤其是基於modaldialog的應用。

7.不要一次初始化所有的視圖
如果初始化界面中不顯示的內容,儘量讓它不初始化,方法是:initstage="defer",這樣做的好處是大大減少應用初始化的時間,只有在使用時才進行初始化,方法是:targetview.completeInstantiation();

8.組件內不應出現與canvas相關的對象或者屬性
這個符合組件的封裝性和獨立性,如果出現的話將造成應用程序的緊密耦合,組件也就不能稱之爲組件了,除非絕對有必要引入canvas內的全局屬性,比如鼠標位置等等。

9.遵守openlaszlo官方的Best_practices:
http://wiki.openlaszlo.org/Best_practices

10.慎用新版本尤其是4.0
根據官方的releasenote來看,swf&dhtml版本的應用性能比較差,而且大部分lps3.3組件都不能在4.0版本上使用,新版本的成熟還需時日。

發佈了0 篇原創文章 · 獲贊 0 · 訪問量 2228
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章