SSH框架優勢
1. 典型的三層構架體現MVC(模型Model,視圖View和控制)思想,可以讓開發人員減輕重新建立解決復雜問題方案的負擔和精力。便於敏捷開發出新的需求,降低開發時間成本。
2. 良好的可擴展性,ssh主流技術有強大的用戶社區支持它,所以該框架擴展性非常強,針對特殊應用時具有良好的可插拔性,避免大部分因技術問題不能實現的功能。
3. 良好的可維護性,業務系統經常會有新需求,三層構架因為邏輯層和展現層的合理分離,可使需求修改的風險降低到最低。隨着新技術的流行或系統的老化,系統可能需要重構,ssh構架重構成功率要比其他構架高很多。
4. 優秀的解耦性,很少有軟件產品的需求從一開始就完全是固定的。客戶對軟件需求,是隨着軟件開發過程的深入,不斷明晰起來的。因此,常常遇到軟件開發到一定程度時,由於客戶對軟件需求發生了變化,使得軟件的實現不得不隨之改變。ssh三層構架,控制層依賴於業務邏輯層,但絕不與任何具體的業務邏輯組件耦合,只與接口耦合;同樣,業務邏輯層依賴於DAO層,也不會與任何具體的DAO組件耦合,而是面向接口編程。采用這種方式的軟件實現,即使軟件的部分發生改變,其他部分也不會改變。
5. Struts2優勢
a) Struts2 Action對象為每一個請求產生一個實例,因此沒有線程安全問題。
b) Struts2強大的標簽庫提高開發效率。
c) 頁面脈絡清晰,通過查看配置文件把握整個系統的關系,方便開發人員崗位流動時的維護。
6. hibernate優勢
a) hibernate是JDBC輕量級的封裝,占用內存較少,性能比較高。與JDBC相比,如果開發JDBC的人員技術能力非常強,hibernate執行效率會比JDBC弱一些,但是大部分情況是程序員在使用JDBC時是不可能做到最高效率,hibernate可以幫大部分開發人員提高運行效率。
b) 可以引入第三方二級緩存,提高系統查詢效率,減少系統里存在大量單例類(singleton),大量的單例類,會降低系統的可測試性和面向對象程度。
c) 優秀的orm框架,理論上節省開發人員95%的開發工作量。
d) Hibernate兼容JDBC。理論上可以應用在任何使用JDBC的場景。
7. spring優勢
a) spring提高了一種對象管理方法,有效的組織系統中間層對象。是框架的完美“粘合劑”。
b) 有利於面向接口編程習慣的養成,使代碼結構清晰。