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


曙海教育集團論壇開發(fā)語言培訓專區(qū)Delphi程序設計 → 多層結構設計觀念大討論


  共有7712人關注過本帖樹形打印

主題:多層結構設計觀念大討論

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發(fā)短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
多層結構設計觀念大討論  發(fā)帖心情 Post By:2010-12-14 11:32:03

維護性高。物理分布靈活。開發(fā)的并行性高。

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

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

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

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

  層次結構是一種設計思想,適用于單獨的本機應用程序設計,更適用于復雜的軟件系統(tǒng)。

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

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

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

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

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

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

  多層結構中各類對象的含義與任務是什么呢?:

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

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

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

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


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

  顯然,商務對象在多層結構設計中處于核心地位,因此,在多層結構系統(tǒng)中,最關鍵的就是設計好商務層,具體來說就是設計好商務層中需要存在哪些商務對象,各商務對象任務的分配和其接口的安排。

  商務層中的一個設計原則就是:分離商務對象,封裝商務處理與商務規(guī)則。


總結:

  軟件多層結構是一種基于組件和基于服務的,將系統(tǒng)不同層次的功能對應分散在不同軟件層次上的軟件系統(tǒng)結構設計觀念。

  與社會化大分工為人類社會帶來極大好處相似,多層結構設計也為軟件開發(fā)帶來極大好處:

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

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

  開發(fā)并行性:由于層與層之間是采用基于服務的存取(接口調用),并且是獨立存在的,所以各層可以在約定好的接口下并行開發(fā)。

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



支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

返回版面帖子列表

多層結構設計觀念大討論








簽名
主站蜘蛛池模板: 日本wwwwwwwww| 久久成人小视频 | 97精品国产91久久久久久 | 欧洲成人r片在线观看 | 精品欧美一区二区三区精品久久 | 日韩欧美综合 | 国产精品久久久久久久久久98 | 欧美一级毛片欧美毛片视频 | 在线视频一区二区三区在线播放 | 免费一级欧美大片视频在线 | 午夜不卡在线 | 加勒比一区在线 | 欧美三级免费网站 | 国产精品6 | a级片免费观看 | 久久亚洲成人 | 黄色a站| 亚洲在线不卡 | 国产精品91在线 | 欧美视频一级 | 国产99视频精品免费视频7 | 亚洲精品久久玖玖玖玖 | 成年片人免费www | 波多野结衣在线观看一区二区 | 欧美日韩一区二区三区在线观看 | 精品一区二区三区在线播放 | 欧美理论片在线观看一区二区 | 国产精品久久久久久久9999 | 玖玖精品视频在线 | 欧美日韩在线观看视频 | 欧美成人视 | 亚洲免费国产 | 97国产在线观看 | 在线亚洲精品国产波多野结衣 | 91精品手机国产在线能 | 在线看免费观看韩国特黄一级 | 国产精品自拍在线 | 国产美女一区精品福利视频 | 日本高清视频免费在线观看 | 日本一级全黄大片 | 成人小视频在线观看免费 |