久久中文视频-久久中文网-久久中文亚洲国产-久久中文字幕久久久久-亚洲狠狠成人综合网-亚洲狠狠婷婷综合久久久久

以文本方式查看主題

-  曙海教育集團(tuán)論壇  (http://www.xinguifushi.cn/bbs/index.asp)
--  Delphi程序設(shè)計(jì)  (http://www.xinguifushi.cn/bbs/list.asp?boardid=76)
----  多層結(jié)構(gòu)設(shè)計(jì)觀念大討論  (http://www.xinguifushi.cn/bbs/dispbbs.asp?boardid=76&id=2576)

--  作者:wangxinxin
--  發(fā)布時(shí)間:2010-12-14 11:32:03
--  多層結(jié)構(gòu)設(shè)計(jì)觀念大討論
維護(hù)性高。物理分布靈活。開發(fā)的并行性高。

  舉個(gè)例子:在一個(gè)線纜銷售公司的訂單處理系統(tǒng)中要錄入訂單,并保存訂單。有以下要求:訂單的錄入界面要隨所訂線纜的種類不同而不同,以便于快速錄入。能否開放該新訂單取決于該訂單的總金額和該訂單的銷售員的金額授權(quán)以及庫(kù)存情況。如果銷售員金額權(quán)限不夠,要提示請(qǐng)銷售經(jīng)理進(jìn)行授權(quán)審批。

  這里:
  訂單的錄入界面要隨所訂線纜的種類不同而不同,說明了界面的輸入輸出方式是多樣的,這是表示的多樣性,對(duì)應(yīng)于表示層。
能否開放該新訂單取決于該訂單的總金額和該訂單的銷售員的金額授權(quán)以及庫(kù)存情況,這是商業(yè)規(guī)則,對(duì)應(yīng)于商務(wù)層。錄入訂單,并保存訂單,以及如果銷售員金額權(quán)限不夠,要提示請(qǐng)銷售經(jīng)理進(jìn)行授權(quán)審批,是要實(shí)現(xiàn)的功能,這種功能是由客戶端組織的,在表示層實(shí)現(xiàn)。訂單,銷售員權(quán)限,這是數(shù)據(jù),對(duì)應(yīng)于數(shù)據(jù)層。

  但層的軟件實(shí)現(xiàn)基礎(chǔ)是什么呢?換句話說,層是如何實(shí)現(xiàn)的呢?

  層是通過多組軟件模塊之間的經(jīng)過規(guī)劃的調(diào)用來實(shí)現(xiàn)的。軟件模塊可以是源程序代碼級(jí)別上的子程序,函數(shù)過程,對(duì)象或二進(jìn)制代碼級(jí)別上的組件。如果軟件模塊是源代碼級(jí)別上的,那么層就是依賴于源代碼的,其發(fā)揮作用的范圍也就只限于相應(yīng)的編譯后的應(yīng)用程序。如果軟件模塊是二進(jìn)制代碼級(jí)別上的組件,如COM/DCOM對(duì)象或CORBAR對(duì)象,層就不依賴于源代碼而可以獨(dú)立地為調(diào)用者提供服務(wù)。而且可以為多個(gè)調(diào)用者提供服務(wù),不管這些調(diào)用者是不是同一個(gè)應(yīng)用。

  層次結(jié)構(gòu)是一種設(shè)計(jì)思想,適用于單獨(dú)的本機(jī)應(yīng)用程序設(shè)計(jì),更適用于復(fù)雜的軟件系統(tǒng)。

  由于二進(jìn)制代碼級(jí)別上的組件在開發(fā),維護(hù),重用方面相對(duì)于基于源代碼的軟件模塊的優(yōu)勢(shì),層更多地由二進(jìn)制代碼級(jí)別上的組件來組成。例如Windows和Office的層次結(jié)構(gòu)。事實(shí)上,只有基于二進(jìn)制組件的層次結(jié)構(gòu)(各層可以獨(dú)立存在)才能真正發(fā)揮多層結(jié)構(gòu)的威力。

  在實(shí)際的軟件系統(tǒng)中,每一層還可能由多個(gè)實(shí)現(xiàn)特定目標(biāo)的子層構(gòu)成。在設(shè)計(jì)時(shí),軟件模塊是基于源代碼級(jí)別的對(duì)象、函數(shù)過程還是基于二進(jìn)制代碼級(jí)別上的組件取決于系統(tǒng)的復(fù)雜度和系統(tǒng)約束。

  層就是一群負(fù)有特定使命,提供特定服務(wù)的軟件模塊。
  例如,先前說提到的訂單處理系統(tǒng)中與訂單相關(guān)的處理可以在三層結(jié)構(gòu)中作如下分布:

  注:訂單商務(wù)對(duì)象和數(shù)據(jù)對(duì)象接口中的參數(shù)均已省略;接口并不完備,僅作示例用;各層上還有其他相關(guān)對(duì)象沒有列出)請(qǐng)仔細(xì)體會(huì)不同層次的對(duì)象在協(xié)同完成同一任務(wù)時(shí)的角色和思維的層次。

  另外一個(gè)多層結(jié)構(gòu)的一個(gè)典型例子是銀行的軟件系統(tǒng)。在銀行的軟件系統(tǒng)中,數(shù)據(jù)存放在大型機(jī)如AS/400上,后臺(tái)業(yè)務(wù)交易處理可能在AS/400上也可能在微機(jī)上處理(最后提交到AS/400),前端面對(duì)用戶的形式卻是多種多樣的:柜臺(tái),ATM,Web,電話,手機(jī)。不同的前端都是使用同樣的后臺(tái)處理服務(wù)。(設(shè)想一下,如果不是這樣呢?)

  綜合以上的論述,我們可以畫出多層結(jié)構(gòu)系統(tǒng)在邏輯上和布局上的典型視圖如下:

  多層結(jié)構(gòu)中各類對(duì)象的含義與任務(wù)是什么呢?:

  數(shù)據(jù)存取對(duì)象 : 提供記錄的增刪改查方法,語義環(huán)境是在數(shù)據(jù)操作層次上

  商務(wù)實(shí)體對(duì)象:在一個(gè)或多個(gè)數(shù)據(jù)對(duì)象之上綁定商務(wù)實(shí)體的校驗(yàn)規(guī)則,提供商務(wù)實(shí)體對(duì)外所應(yīng)展示的的方法,語義環(huán)境是在商務(wù)實(shí)體的相關(guān)操作層次上。例如:一個(gè)訂單是個(gè)商務(wù)實(shí)體,由訂單概要和所訂商品兩個(gè)數(shù)據(jù)對(duì)象組成,對(duì)一張訂單整體實(shí)施校驗(yàn)規(guī)則,提供訂單的相關(guān)商務(wù)操作方法,如新增,修改,刪除,查詢。

  商務(wù)功能對(duì)象:通過一個(gè)或多個(gè)商務(wù)實(shí)體對(duì)象的協(xié)同工作,實(shí)現(xiàn)相關(guān)的某組功能。語義環(huán)境是在商務(wù)活動(dòng)層次上。例如轉(zhuǎn)賬,可視為一個(gè)商務(wù)功能對(duì)象,通過按照一定順序和約定調(diào)用轉(zhuǎn)賬所涉及的各個(gè)商務(wù)實(shí)體對(duì)象提供的接口功能,在一個(gè)事務(wù)中來完成。

  表示層中,同一數(shù)據(jù),可能在同一個(gè)客戶端運(yùn)行程序內(nèi)部就有不同的表現(xiàn)形式。也可能由不同的客戶端應(yīng)用程序使用同一商務(wù)層的功能。表示媒體也可能多種多樣。例如:WebServer就是一種提供將數(shù)據(jù)轉(zhuǎn)換為便于瀏覽器瀏覽的數(shù)據(jù)格式的表示服務(wù)程序。


  根據(jù)OMG 96年的定義,商務(wù)對(duì)象有如下定義:“商務(wù)對(duì)象代表在特定商務(wù)領(lǐng)域中活動(dòng)的事物,商務(wù)對(duì)象至少包括它代表事物的商務(wù)名稱和商務(wù)定義,屬性,行為,關(guān)系,法則,政策和限制。例如商務(wù)對(duì)象可能代表一個(gè)人,地方,事件,商務(wù)流程或是觀念。實(shí)際的商務(wù)對(duì)象范例有:?jiǎn)T工,產(chǎn)品,訂單,發(fā)票和付款等�!�

  顯然,商務(wù)對(duì)象在多層結(jié)構(gòu)設(shè)計(jì)中處于核心地位,因此,在多層結(jié)構(gòu)系統(tǒng)中,最關(guān)鍵的就是設(shè)計(jì)好商務(wù)層,具體來說就是設(shè)計(jì)好商務(wù)層中需要存在哪些商務(wù)對(duì)象,各商務(wù)對(duì)象任務(wù)的分配和其接口的安排。

  商務(wù)層中的一個(gè)設(shè)計(jì)原則就是:分離商務(wù)對(duì)象,封裝商務(wù)處理與商務(wù)規(guī)則。


總結(jié):

  軟件多層結(jié)構(gòu)是一種基于組件和基于服務(wù)的,將系統(tǒng)不同層次的功能對(duì)應(yīng)分散在不同軟件層次上的軟件系統(tǒng)結(jié)構(gòu)設(shè)計(jì)觀念。

  與社會(huì)化大分工為人類社會(huì)帶來極大好處相似,多層結(jié)構(gòu)設(shè)計(jì)也為軟件開發(fā)帶來極大好處:

  可重用性:由于商務(wù)層的獨(dú)立存在,那么商務(wù)層中的各種服務(wù)可以被不同的應(yīng)用程序使用。將組件的重用范圍從以前的的單個(gè)項(xiàng)目擴(kuò)展到企業(yè)范圍內(nèi)的多個(gè)項(xiàng)目。

  配置的靈活性:由于軟件系統(tǒng)被分成了獨(dú)立的三層或多層,可以按照企業(yè)商務(wù)的功能需求和性能需求靈活配置各層次的物理位置,功能劃分,計(jì)算機(jī)數(shù)量等,為需求迅速增長(zhǎng)的分布式應(yīng)用提供了實(shí)現(xiàn)基礎(chǔ)。例如不同的部門的不同應(yīng)用可以連接到不同的應(yīng)用服務(wù)器上。各個(gè)層次還可單獨(dú)選擇最恰當(dāng)?shù)拈_發(fā)工具。

  開發(fā)并行性:由于層與層之間是采用基于服務(wù)的存�。ń涌谡{(diào)用),并且是獨(dú)立存在的,所以各層可以在約定好的接口下并行開發(fā)。

  系統(tǒng)進(jìn)化的容易度:當(dāng)軟件需求變更時(shí)或技術(shù)進(jìn)步時(shí),只需要更改相應(yīng)層中的組件,在保證接口不變的情況下,不會(huì)影響系統(tǒng)的其他部分,也不需重新測(cè)試系統(tǒng)的其他部分。而且層與層之間采用基于服務(wù)的調(diào)用方式,所以,當(dāng)商務(wù)規(guī)則變化時(shí),只要更新單一的商務(wù)層,運(yùn)行表示層的各個(gè)客戶端便自動(dòng)地獲得按照新的商務(wù)規(guī)則處理的能力。在基于商務(wù)層服務(wù)的基礎(chǔ)上,可以采用漸增的方式增加客戶端應(yīng)用種類和接入媒體,因而系統(tǒng)可擴(kuò)展性很好。



主站蜘蛛池模板: 国产一区私人高清影院 | 免费日本视频 | 国模偷拍在线观看免费视频 | 超清首页 国产 亚洲 丝袜 | 亚洲 欧美 精品 | 国产乱子视频 | 最刺激黄a大片免费观看下截 | 亚洲成人在线播放视频 | 成人网免费看 | 国产精品极品美女自在线看免费一区二区 | 成人中文字幕在线 | 国产一区二区在线视频 | 成人禁在线观看网站 | 久久精品欧美日韩精品 | 亚洲国产天堂久久综合网站 | 国产三级小视频在线观看 | 国产一区欧美 | 久草手机在线播放 | 女人张开腿让男人桶视频免费大全 | 九九九九精品视频在线播放 | 免费一级毛片正在播放 | 国产一区二区亚洲精品 | 欧美成人视屏 | 精品成人在线视频 | 欧美成人精品高清在线观看 | 久草免费在线观看 | 久久久亚洲精品国产 | 日韩成人精品日本亚洲 | 国产精品欧美亚洲日本综合 | 亚洲最新网址 | 中文字幕日韩精品有码视频 | 久久99亚洲精品久久频 | 欧美精品久久久久久久影视 | 天天夜天干天天爽 | 国产女王女m视频vk 国产女王丨vk | www中文字幕在线观看 | 男人的天堂免费网站 | 亚洲日本精品 | 日韩美女视频在线观看 | 久久福利青草精品资源站免费 | 欧美一级在线观看视频 |