一個初步的想法,先簡單說一下。
1、最初的圖形用戶界面,都是代碼堆出來的,用代碼來畫界面,用代碼來響應(yīng)事件,用代碼來處理事件。
2、OO風(fēng)潮一起,GUI的框架自然也要跟進,基于控件的GUI開發(fā),大行其道。
3、最初的Web,根本無法與GUI應(yīng)用同日而語,反而能夠不受太多OO思潮的干擾。獨立發(fā)展出了:結(jié)構(gòu)、表現(xiàn)、行為三分離的架構(gòu)模式。也就是XHTML、CSS、DOM/ECMAScript。
4、基于控件的開發(fā),封裝細節(jié),因此也各自獨立。大家通過消息機制來溝通。這樣就導(dǎo)致有一部分邏輯是被封裝在控件內(nèi)部,另一部分則散布在控件“四周”。
5、DHTML->AJAX->XUL這樣的發(fā)展思路,顯示了另外一種開發(fā)GUI應(yīng)用的可能性。結(jié)構(gòu)與表現(xiàn)分離,要修改界面效果,自然是修改CSS來得方便。結(jié)構(gòu)與行為分離,自然能夠?qū)λ械摹皠幼鞑糠帧奔兴伎肌?/DIV>
個人認(rèn)為,后一種GUI應(yīng)用開發(fā)的架構(gòu)模式,是更加合理的。