Spring與松耦合的軟件系統課件_第1頁
Spring與松耦合的軟件系統課件_第2頁
Spring與松耦合的軟件系統課件_第3頁
Spring與松耦合的軟件系統課件_第4頁
Spring與松耦合的軟件系統課件_第5頁
已閱讀5頁,還剩47頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第3章Spring與松耦合的軟件系統第3章Spring與松耦合的軟件系統1學習內容J2EE的分層設計緊耦合軟件系統所帶來的危害Spring如何構建松耦合的軟件系統學習內容J2EE的分層設計2J2EE的分層設計

--四層架構J2EE的分層設計

--四層架構3緊耦合軟件系統所帶來的危害不要假定用戶需求是不變的,擁抱變化,只有肯定用戶需求變化是永恒的這樣原則,我們設計的軟件系統才能滿足用戶不斷變化需求。這就要求我們的軟件系統應該具有很好的可擴展性和可復用性,那么我們的手段是什么呢?這就是要降低層與層的耦合度——即松耦合。緊耦合軟件系統所帶來的危害不要假定用戶需求是不變的,4緊耦合的設計情況?緊耦合的設計情況?5Spring與松耦合的軟件系統課件6Spring與松耦合的軟件系統課件7Spring與松耦合的軟件系統課件8由于層與層之間沒有設計接口,而且層與層的依賴關系采用new方式等問題,當用戶需求變更了就會引發“牽一發而動全身”可怕情形。假如我們現在持久層DAO不使用JDBC技術而換成使用HibernateORM框架,添加一個DAO類——即DictionaryDAOHibernateImp,那么情況是什么樣子的呢?類圖如圖3.2所示。由于層與層之間沒有設計接口,而且層與層的依賴關系采用new方9Spring與松耦合的軟件系統課件10由于持久層的變化,導致了依賴于它的服務層和表示層變化,實際上我們所有的層都變化了。清單3.4是為了使用Hibernate實現添加的一個持久層實現類,目前我們也沒有連接數據庫,我們暫時把返回的值(HelloWorld)寫死了。我們會在以后連接數據庫find的返回值從數據庫查詢處理的。由于持久層的變化,導致了依賴于它的服務層和表示層變化,實際上11Spring與松耦合的軟件系統課件12Spring與松耦合的軟件系統課件13Spring與松耦合的軟件系統課件14小結綜上所述,上面的小例子我們看到,我們修改了數據持久層,結果導致了所有的層的變化,出現了“牽一發而動全身”可怕局面。這就是緊耦合的系統。緊耦合系統給我們的危害是巨大的,任何一點小的修改可能都是災難的,緊耦合系統給缺少可擴展性和可復用性。不能滿足用戶不斷變化的需求。導致緊耦合原因:系統沒有分層;層與層之間沒有設計接口,上層調用者要關心下層實現;層與層之間調用還是采用傳統new的方式。小結綜上所述,上面的小例子我們看到,我們修改了數據持久層,結15Spring如何構建松耦合的軟件系統緊耦合給我們軟件系統帶來危害。構建松耦合的軟件系統是我們的必然的選擇。分層設計、并通過Spring解決如下問題:層與層之間沒有設計接口層與層之間調用采用傳統new的方式Spring如何構建松耦合的軟件系統緊耦合給我們軟件系統帶來16Spring與松耦合的軟件系統課件17Spring與松耦合的軟件系統課件18Spring與松耦合的軟件系統課件19Spring與松耦合的軟件系統課件20Spring與松耦合的軟件系統課件21上面例子就是我們使用了Sping,由于用戶需求的變化持久層的DAO由原來使用JDBC實現換成使用Hibernate實現。我們只需要添加一個DictionaryDAOHibernateImp實現類,并修改配置文件就可以了,別的不需要任何的修改。上面例子就是我們使用了Sping,由于用戶需求的變化持久層的22Spring與松耦合的軟件系統課件23Spring與松耦合的軟件系統課件24總結綜上所述,使用了Spring構建的松耦合系統給我們帶來的好處。它使我們在用戶需求變更的情況下只需要修改少量代碼就可以滿足用戶需求。這個例子很簡單,當然談不上是一個系統,但是Spring構建松耦合的原理上講跟一個企業級應用系統是一樣的。總結綜上所述,使用了Spring構建的松耦合系統給我們帶來的25再看四層架構再看四層架構26第3章Spring與松耦合的軟件系統第3章Spring與松耦合的軟件系統27學習內容J2EE的分層設計緊耦合軟件系統所帶來的危害Spring如何構建松耦合的軟件系統學習內容J2EE的分層設計28J2EE的分層設計

--四層架構J2EE的分層設計

--四層架構29緊耦合軟件系統所帶來的危害不要假定用戶需求是不變的,擁抱變化,只有肯定用戶需求變化是永恒的這樣原則,我們設計的軟件系統才能滿足用戶不斷變化需求。這就要求我們的軟件系統應該具有很好的可擴展性和可復用性,那么我們的手段是什么呢?這就是要降低層與層的耦合度——即松耦合。緊耦合軟件系統所帶來的危害不要假定用戶需求是不變的,30緊耦合的設計情況?緊耦合的設計情況?31Spring與松耦合的軟件系統課件32Spring與松耦合的軟件系統課件33Spring與松耦合的軟件系統課件34由于層與層之間沒有設計接口,而且層與層的依賴關系采用new方式等問題,當用戶需求變更了就會引發“牽一發而動全身”可怕情形。假如我們現在持久層DAO不使用JDBC技術而換成使用HibernateORM框架,添加一個DAO類——即DictionaryDAOHibernateImp,那么情況是什么樣子的呢?類圖如圖3.2所示。由于層與層之間沒有設計接口,而且層與層的依賴關系采用new方35Spring與松耦合的軟件系統課件36由于持久層的變化,導致了依賴于它的服務層和表示層變化,實際上我們所有的層都變化了。清單3.4是為了使用Hibernate實現添加的一個持久層實現類,目前我們也沒有連接數據庫,我們暫時把返回的值(HelloWorld)寫死了。我們會在以后連接數據庫find的返回值從數據庫查詢處理的。由于持久層的變化,導致了依賴于它的服務層和表示層變化,實際上37Spring與松耦合的軟件系統課件38Spring與松耦合的軟件系統課件39Spring與松耦合的軟件系統課件40小結綜上所述,上面的小例子我們看到,我們修改了數據持久層,結果導致了所有的層的變化,出現了“牽一發而動全身”可怕局面。這就是緊耦合的系統。緊耦合系統給我們的危害是巨大的,任何一點小的修改可能都是災難的,緊耦合系統給缺少可擴展性和可復用性。不能滿足用戶不斷變化的需求。導致緊耦合原因:系統沒有分層;層與層之間沒有設計接口,上層調用者要關心下層實現;層與層之間調用還是采用傳統new的方式。小結綜上所述,上面的小例子我們看到,我們修改了數據持久層,結41Spring如何構建松耦合的軟件系統緊耦合給我們軟件系統帶來危害。構建松耦合的軟件系統是我們的必然的選擇。分層設計、并通過Spring解決如下問題:層與層之間沒有設計接口層與層之間調用采用傳統new的方式Spring如何構建松耦合的軟件系統緊耦合給我們軟件系統帶來42Spring與松耦合的軟件系統課件43Spring與松耦合的軟件系統課件44Spring與松耦合的軟件系統課件45Spring與松耦合的軟件系統課件46Spring與松耦合的軟件系統課件47上面例子就是我們使用了Sping,由于用戶需求的變化持久層的DAO由原來使用JDBC實現換成使用Hibernate實現。我們只需要添加一個DictionaryDAOHibernateImp實現類,并修改配置文件就可以了,別的不需要任何的修改。上面例子就是我們使用了Sping,由于用戶需求的變化持久層的48Spring與松耦合的軟件系統課件49Spring與松耦合的軟件系統課件50

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論