您好,登錄后才能下訂單哦!
這篇文章主要介紹“Java程序中通用的體系模式是什么”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Java程序中通用的體系模式是什么”文章能幫助大家解決問題。
層面式是一種通用的體系模式,它有助于把一個復(fù)雜的程序分成幾個獨立的部分。層面是基于它們的功能模塊劃分,每一個層面負責(zé)一個主要的功能,Packages代表的是邏輯層。級別高的層能使用級別低的層的函數(shù),相反則不然,級別低的層不能使用級別高的層的函數(shù)。表A顯示了一個通用的層面模式。
表A
表達
顯示程序用戶界面成分和處理用戶請求
范圍
負責(zé)程序特定的邏輯通訊
數(shù)據(jù)源
有助于一些后臺服務(wù)的通訊,如數(shù)據(jù)庫連接,消息處理管理等。
定義合理的層面對整個程序非常的重要,因為定義良好的層將提高維護性和使用性,這正是我們早先討論到的啟發(fā)式知識的核心。
當分層一個程序時,最重要的是定義層與層之間的關(guān)聯(lián)。隨后,設(shè)計packages之間的關(guān)聯(lián)也很重要。除此之外,packags關(guān)聯(lián)最好的是單向的,因為級別高的層能調(diào)用級別低的層的函數(shù),反之不行。
程序的分層的目是提高功能的多次調(diào)用。一般來說,級別低的層要比級別高的層容易調(diào)用。當頻繁使用一個層時,你可以參考一下《.NET.com.cn/developer/tech/story/0,2000081602,39067840,00.htm" target=_blank>Java的封裝功能》這篇文章。定義良好的層面能讓其他開發(fā)人員更容易地理解和使用程序中的函數(shù)。
然而,分層也要格外注意。定義過多的層面會導(dǎo)致程序的復(fù)雜。所以設(shè)計分層時,你必須認真考慮。
分割方式是把程序中的非中心邏輯部分從中心邏輯部分中脫離開來。與層面方式一樣,分割方式使用packages來代表邏輯關(guān)聯(lián)。表B顯示了兩個主要的分割。
表 B
垂直
程序中數(shù)據(jù)交換的主要功能,包括交換過程,交換邏輯,交換規(guī)則。
水平
程序中數(shù)據(jù)交換的非主要功能,包括錯誤處理,郵件服務(wù),數(shù)據(jù)庫訪問。
當識別一個分割層時,你必須注意每一個獨立的package的主要目的。每一個分割層面都能產(chǎn)生有意義的package。在設(shè)計packages關(guān)聯(lián)時一定要確保它們能夠提供合理的功能函數(shù)。
除此之外,垂直分割層的功能函數(shù)一般都調(diào)用水平分割層的功能函數(shù),水平分割層的功能函數(shù)可以在程序里面或程序之間調(diào)用,關(guān)鍵之處是你如何集中使用和改變這其中的類。如果水平功能函數(shù)被多個程序調(diào)用,此時最重要的是考慮如何獨立地調(diào)用這些獨立的功能函數(shù)。
在面向?qū)ο蟪绦蛟O(shè)計中,這兩種體系模式都起著關(guān)鍵的作用。除了獨立地使用層面方法和分割方式,在實際設(shè)計過程中也常常把二者混合起來,這樣就可以達到在分割中分層和分層中分割的目的。圖A演示了把兩個層面分成兩個分割的抽象關(guān)聯(lián)模型,箭頭的方向指明了可允許的關(guān)聯(lián)。
關(guān)于“Java程序中通用的體系模式是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。