posts - 176, comments - 240, trackbacks - 0, articles - 7

          信道構(gòu)建

          Posted on 2009-03-22 21:10 canonical 閱讀(631) 評(píng)論(0)  編輯  收藏 所屬分類: 設(shè)計(jì)理論
              分層是最常見(jiàn)的軟件架構(gòu)方式之一。分層之后可以區(qū)分出橫縱兩個(gè)維度,縱向往往表現(xiàn)出一種隔離性。出于有意無(wú)意的各種原因,層次之間傳遞信息很容易出現(xiàn)模糊甚至丟失的現(xiàn)象。B/S多層體系架構(gòu)下的程序因?yàn)闉g覽器和服務(wù)器之間的狀態(tài)空間相互獨(dú)立,相對(duì)于共享全局狀態(tài)空間的C/S程序,更容易出現(xiàn)信息傳遞不暢的問(wèn)題。實(shí)際上,我們經(jīng)??梢杂^察到B/S程序中存在著大量的"接力"代碼,即在交界處,總是存在著大量用于讀取變量,拼接變量,轉(zhuǎn)換變量等與主體業(yè)務(wù)無(wú)關(guān)但卻又不可或缺的代碼。在多層架構(gòu)程序中,信道構(gòu)建應(yīng)該是一個(gè)需要給予足夠重視的問(wèn)題。

              在系統(tǒng)規(guī)劃中,多層結(jié)構(gòu)應(yīng)該內(nèi)置與具體語(yǔ)義無(wú)關(guān)的通用信道,它跨越多個(gè)層次,允許信息透明的通過(guò),并以未預(yù)期的方式在不同的層面激發(fā)各種相關(guān)的行為。在Witrix平臺(tái)中,平臺(tái)代碼與特定應(yīng)用中的業(yè)務(wù)代碼處于高度交織的狀態(tài),一個(gè)特定業(yè)務(wù)功能的實(shí)現(xiàn)往往需要多處業(yè)務(wù)代碼相互協(xié)同,平臺(tái)必須成為某種透明的背景。例如,假設(shè)我們編制了一個(gè)通用的列表選擇控件,它封裝的邏輯是從一個(gè)實(shí)體列表中進(jìn)行選擇
                <app:SelectOne objectName="MyEntity" />
          如果現(xiàn)在要求選擇時(shí)只列出某個(gè)類型的實(shí)體,則調(diào)用形式為
                <app:SelectOne objectName="MyEntity" extArgs="$bizId=select&amp;$type=1" />
          在調(diào)用入口處補(bǔ)充必要的信息之后會(huì)推動(dòng)系統(tǒng)在遙遠(yuǎn)的狀態(tài)空間中應(yīng)用一個(gè)特定的過(guò)濾條件。這里$bizId負(fù)責(zé)指示平臺(tái)應(yīng)用特定的元數(shù)據(jù)配置,而其他的參數(shù)則由元數(shù)據(jù)中的邏輯負(fù)責(zé)處理。平臺(tái)與特定業(yè)務(wù)代碼各取所需,相互配合,將盡可能多的邏輯剝離為通用機(jī)制。


          主站蜘蛛池模板: 涿鹿县| 金山区| 闵行区| 来凤县| 渑池县| 彝良县| 通榆县| 达拉特旗| 霞浦县| 晋江市| 保康县| 邳州市| 满洲里市| 绥德县| 增城市| 扶沟县| 施甸县| 景德镇市| 郎溪县| 巴彦淖尔市| 九寨沟县| 龙游县| 博客| 资兴市| 台州市| 茂名市| 循化| 剑河县| 南乐县| 泾源县| 同江市| 永善县| 略阳县| 佛坪县| 崇文区| 青浦区| 宜兰县| 阿拉尔市| 武邑县| 桐乡市| 石楼县|