設計模式在業務邏輯層中的應用
引言
傳統軟件應用系統一般采用3層應用框架,業務邏輯層代碼中混雜各種數據庫調用語句,嚴重影響系統的可擴展性、可復用性和可維護性。
設計可復用的面向對象軟件有很多難點。如找到相關對象;以適當的粒度將其歸類;定義類的接口和繼承層次,建立對象之間的基本關系;要對現在的問題有針對性,同時對將來的問題和需求也有足夠的通用性;避免重復設計或盡可能少做重復設計等。
采用設計模式可有效解決這些難點,從而簡單方便地復用成功的設計和體系結構。通過采用設計模式,能大大提高系統的可擴展性、可重用性和可維護性,并能降低系統開發難度,提高開發效率。設計模式已成為當前乃至今后軟件工程研究領域的一大熱點,并被認為是繼OOP技術之后的又一重大突破。
首先簡要介紹設計模式,然后分析傳統3層架構開發模型的優缺點,充分考慮系統的可擴展性,可復用性,可維護性,從軟件設計模式角度提出改進方法,并給出研究實例。
2 設計模式
每一個模式描述一個在不斷重復發生的問題,以及該問題解決方案的核心。這樣就能多次使用該方案而不必重復勞動。設計模式是面向對象軟件設計過程中記錄的知識和經驗,用一系列類結構和對象來具體描述其含義。設計模式通過復用面向對象設計的解決方案,從而更加簡單方便地復用成功的設計和體系結構,將已證實的技術表述成設計模式也會使新系統開發者更加容易理解其設計思路。設計模式可幫助設計者做出有利于系統復用選擇,避免損害系統復用性,通過提供一個顯式類和對象作用關系及它們之間潛在聯系說明規范,設計模式甚至能夠提高已有系統的文檔管理和系統維護的有效性。設計模式確定所包含的類和實例及其角色、協作方式、職責分配。通過刻畫部件靜態和動態結構及其之間的合作關系,設計模式成功應用于解決商業數據處理、電子通信、圖形用戶界面、數據庫、分布式通信軟件等軟件構造中。
3 傳統的3層架構開發模型
目前,在Internet/Intranet環境中,企業級的應用軟件系統大多采用3層應用框架:表示層、業務邏輯層和數據層(圖1)。在這種層次結構的軟件框架中。每層為其上一層提供服務(服務提供者),并作為其下一層的客戶(服務消費者),內部的層只對相鄰的層可見,從而構成一個具有可移植性、可擴充性的兼容平臺。
但也存在顯著的缺點:在開發多個應用軟件系統的過程中,不同的應用軟件系統之間耦合度不是很好;層與層之間代碼混亂;訪問數據庫的方式不同,如JDBC, Hibernate或JDO,因此,在各種數據庫之間移植就需修改很多地方,業務邏輯層也需跟著修改,不能采用一致的編程模型,系統的可復用性、可維護性不是很理想。
評論