新整理了一些,內(nèi)容不算多,希望能對(duì)大家有用,盡管我也未能按照規(guī)范來(lái)做,但是規(guī)范的存在依然有意義。 Openlaszlo編程規(guī)范(第二部分) 2007/04/24 Openlaszlo編程規(guī)范第一部分主要側(cè)重與基本的編碼習(xí)慣和解決性能問(wèn)題,對(duì)于解決復(fù)雜應(yīng)用的編碼設(shè)計(jì)問(wèn)題涉及不足,本文則主要闡述這方面的內(nèi)容,并揭示一些openlaszlo開發(fā)的高級(jí)主題。 1.透徹理解openlaszlo開發(fā)的核心思想: a)完全基于組件的應(yīng)用:整個(gè)應(yīng)用是由多個(gè)組件構(gòu)成而不能單純由標(biāo)簽構(gòu)成 b)事件驅(qū)動(dòng)運(yùn)行:組件之間的通訊由事件負(fù)責(zé) c)數(shù)據(jù)驅(qū)動(dòng)視圖:針對(duì)數(shù)據(jù)而不是直接針對(duì)視圖進(jìn)行編程 2.盡量讓減少canvas內(nèi)的視圖數(shù)目 這里的視圖指的是自定義組件,也是整個(gè)應(yīng)用的各個(gè)組成部分(portlet),有幾個(gè)部分就應(yīng)該有幾個(gè)組件,絕對(duì)不應(yīng)該在應(yīng)用(canvas)內(nèi)出現(xiàn)view標(biāo)簽。 3.充分運(yùn)用event的功能 組件之間的交互(通訊)最好的途徑就是event,而且是自定義的帶組件信息的event,自定義的event解耦了組件之間的依賴,讓整個(gè)應(yīng)用變得可維護(hù)、可擴(kuò)展。 4.針對(duì)data編程而不是針對(duì)視圖編程 按照傳統(tǒng)的web開發(fā)思想,總是習(xí)慣來(lái)刷新頁(yè)面元素來(lái)達(dá)到更新視圖的目的,但是在以數(shù)據(jù)為中心的RIA應(yīng)用中,開發(fā)者所要做的是先想到視圖后面的數(shù)據(jù),先來(lái)改變數(shù)據(jù),以達(dá)到改變視圖的目的。 5.不要作偷懶的開發(fā)者 能獨(dú)立成組件的部分就作成組件,而不能認(rèn)為它不必要或者不是為了重用,這樣做雖然工作量大了些,但是越到了項(xiàng)目的后期,尤其是需求變更時(shí),就會(huì)發(fā)現(xiàn),早期的努力是值得的。 6.不要忽略清理工作 使用過(guò)的變量,在操作結(jié)束時(shí)就應(yīng)當(dāng)立即清空,否則會(huì)引起很麻煩,會(huì)導(dǎo)致bug的產(chǎn)生,尤其是基于modaldialog的應(yīng)用。 7.不要一次初始化所有的視圖 如果初始化界面中不顯示的內(nèi)容,盡量讓它不初始化,方法是:initstage="defer",這樣做的好處是大大減少應(yīng)用初始化的時(shí)間,只有在使用時(shí)才進(jìn)行初始化,方法是:targetview.completeInstantiation(); 8.組件內(nèi)不應(yīng)出現(xiàn)與canvas相關(guān)的對(duì)象或者屬性 這個(gè)符合組件的封裝性和獨(dú)立性,如果出現(xiàn)的話將造成應(yīng)用程序的緊密耦合,組件也就不能稱之為組件了,除非絕對(duì)有必要引入canvas內(nèi)的全局屬性,比如鼠標(biāo)位置等等。 9.遵守openlaszlo官方的Best_practices: http://wiki./Best_practices 10.慎用新版本尤其是4.0 根據(jù)官方的releasenote來(lái)看,swf&dhtml版本的應(yīng)用性能比較差,而且大部分lps3.3組件都不能在4.0版本上使用,新版本的成熟還需時(shí)日。 |
|
來(lái)自: hehffyy > 《openlaszlo》