目前主流的SSH開發(fā)架構(gòu)中,為減輕開發(fā)者工作,便于管理開發(fā)過程,往往用到一些公共代碼和組件,或者采用了基于模版的代碼生成機(jī)制,對(duì)于后臺(tái)的DAO,Service等因?yàn)榧軜?gòu)決定,代碼生成必不可少,但是在前端頁面的實(shí)現(xiàn)上,卻可以有兩種不同的思路,一種是把配置信息直接封裝成更高級(jí)別的組建,一種是進(jìn)行代碼生成。請(qǐng)大家討論一下這兩種方案的優(yōu)劣,這里先拋磚引玉了。
相同點(diǎn):
配置信息:XML OR 數(shù)據(jù)庫
控件化:
優(yōu)點(diǎn):
1 易于添加公共功能
2 修改配置數(shù)據(jù)直接生效
3 代碼結(jié)構(gòu)清晰,對(duì)開發(fā)者友好
缺點(diǎn):
1 重組內(nèi)存中對(duì)象結(jié)構(gòu),性能沒有代碼生成好(但渲染時(shí)間相同)
2 僅能控制組件自身封裝的配置,不支持個(gè)性化修改,如果配置文件不支持的參數(shù),則控件不支持
3 必須保證每個(gè)控件一個(gè)配置
代碼生成:
優(yōu)點(diǎn):
1 性能較好
2 易于定制內(nèi)容
3 可以只配置一個(gè)模版,然后做出多個(gè)簡單的修改
缺點(diǎn):
1 不能針對(duì)多個(gè)頁面同時(shí)添加公共功能
2 業(yè)務(wù)修改需要重新生成代碼
3 開發(fā)者需要修改自動(dòng)生成的代碼,并需要了解一些底層的實(shí)現(xiàn)結(jié)構(gòu)
=====================20091029
代碼生成并不能提高工作效率,尤其是針對(duì)復(fù)雜的富客戶端開發(fā)
開發(fā)組件可提提供一種有效的選項(xiàng),但是在運(yùn)行效率和內(nèi)存處理上需要細(xì)心處理
@2008 楊一. 版權(quán)所有. 保留所有權(quán)利