歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

S2SH框架原理及優點

系統從職責上分為四層:表示層、業務邏輯層、數據持久層和域模塊層。其中使用Struts作為系統的整體基礎架構,負責MVC的分離,在Struts框架的模型部分,利用Hibernate框架對持久層提供支持,業務層用Spring支持。具體做法是:用面向對象的分析方法根據需求提出一些模型,將這些模型實現為基本的Java對象,然後編寫基本的DAO接口,並給出Hibernate的DAO實現,采用 Hibernate架構實現的DAO類來實現Java類與數據庫之間的轉換和訪問,最後由Spring完成業務邏輯。

系統的基本業務流程是:在表示層中,首先通過JSP頁面實現交互界面,負責傳送請求(Request)和接收響應(Response),然後Struts根據配置文件(struts-config.xml)將ActionServlet接收到的Request委派給相應的Action處理。在業務層中,管理服務組件的 Spring IoC容器負責向Action提供業務模型(Model)組件和該組件的協作對象數據處理(DAO)組件完成業務邏輯,並提供事務處理、緩沖池等容器組件以提升系統性能和保證數據的完整性。而在持久層中,則依賴於Hibernate的對象化映射和數據庫交互,處理DAO組件請求的數據,並返回處理結果。

采用上述開發模型,不僅實現了視圖、控制器與模型的徹底分離,而且還實現了業務邏輯層與持久層的分離。這樣無論前端如何變化,模型層只需很少的改動,並且數據庫的變化也不會對前端有所影響,大大提高了系統的可復用性。而且由於不同層之間耦合度小,有利於團隊成員並行工作,大大提高了開發效率。

主流的s2sh(struts2,hibernate,spring)技術構架。相對於老系統有諸多優勢。列舉如下

1.典型的三層構架體現MVC(模型Model,視圖View和控制)思想,可以讓開發人員減輕重新建立解決復雜問題方案的負擔和精力。便於敏捷開發出新的需求,降低開發時間成本。 

2.良好的可擴展性,ssh主流技術有強大的用戶社區支持它,所以該框架擴展性非常強,針對特殊應用時具有良好的可插拔性,避免大部分因技術問題不能實現的功能。 

3.良好的可維護性,業務系統經常會有新需求,三層構架因為邏輯層和展現層的合理分離,可使需求修改的風險降低到最低。隨著新技術的流行或系統的老化,系統可能需要重構,ssh構架重構成功率要比其他構架高很多。 

4.優秀的解耦性,很少有軟件產品的需求從一開始就完全是固定的。客戶對軟件需求,是隨著軟件開發過程的深入,不斷明晰起來的。因此,常常遇到軟件開發到一定程度時,由於客戶對軟件需求發生了變化,使得軟件的實現不得不隨之改變。ssh三層構架,控制層依賴於業務邏輯層,但絕不與任何具體的業務邏輯組件耦合,只與接口耦合;同樣,業務邏輯層依賴於DAO層,也不會與任何具體的DAO組件耦合,而是面向接口編程。采用這種方式的軟件實現,即使軟件的部分發生改變,其他部分也不會改變。

Copyright © Linux教程網 All Rights Reserved