Servlet & JSP 教學手冊第二版 - 第 12 章:從模式到框架

1,275
-1

Published on

Servlet & JSP 教學手冊第二版

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,275
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
133
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Servlet & JSP 教學手冊第二版 - 第 12 章:從模式到框架

  1. 1. CHAPTER 12• 從模式到框架 學習目標 • 了解何謂設計模式 • 認識Gof模式、Java EE模式與架構模式 • 從重構中體會模式 • 了解程式庫與框架的 差別
  2. 2. 認識設計模式• Design Pattern – 就是前人留下的經驗。在從前有些開發人員,因 為作了哪些設計,而在日後維護發生問題,之後 又改用哪些設計,發現類似的維護問題不再發生, 這些設計的良好經驗就是設計模式。每個模式會 給予一個名稱,並解決某個情境下的問題。
  3. 3. Template Method模式
  4. 4. Template Method模式
  5. 5. Gof模式• Design Patterns Elements of Reusable Object- Oriented Software – Erich Gamma、Richard Helm、Ralph Johnson、 John Vissides• Gang of four
  6. 6. Intercepting Filter模式
  7. 7. Java EE模式• 在建立Java企業級應用程式的過程中,由於 應用程式包括了許多元件,使用了特定的 Java技術,應用於各種不同的環境中,在建 立這些Java軟體元件的過程中,歸納出許多 設計上的最佳實踐(Best Practice),這些最 佳實踐就是歸納在Java EE設計模式之中。
  8. 8. Gof模式、Java EE模式• 從實作的層面來看,Gof設計模式可使用任何 物件導向語言來實現,23種設計模式建議的 設計方式只是個出發點,實際上可以根據不 同語言的特性或需求而作變化。• Java EE設計模式則比較專屬於Java EE平台, 某些Java EE模式實現時會需要特定的Java EE 特性或技術,使得Java EE模式比較像是特定 平台(Java EE平台)的慣用模式。
  9. 9. Model-View-Controller模式
  10. 10. Model 2模式
  11. 11. Business Delegate模式
  12. 12. Service Locator模式
  13. 13. Transfer Object模式• 實作Web應用程式若使用了某個前端技術, 例如Struts,你會用ActionForm之類的物件 來封裝表單資訊,如果你直接將這個物件傳 送至後端元件,甚至在DAO中利用 ActionForm來抽取必要的資訊以進行儲存, 那麼將來若前端不採用Struts了,那你整個應 用程式從前端至後端DAO都要進行修改。
  14. 14. Transfer Object模式• 應該在Web前端,例如擔任控制器角色的 Action元件中,就將ActionForm中的必 要資訊抽取出來,封裝為一個與前端、後端 技術都無關的物件,在應用程式之中進行資 料的攜帶,如此你的應用程式元件本身,才 不會受到前端、後端資訊的變換,而需要作 出修改。
  15. 15. Front Controller模式
  16. 16. 程式庫與框架• 如果撰寫某個程式,一開始從頭到尾的流程, 都是你親自撰寫,例如撰寫桌面應用程式, 會從main()程式進入點開始,過程中需要用 到字串處理時,可呼叫字串處理的API,需要 日期處理時,可呼叫日期處理的API,「整個 過程由你決定,在必要時取得相關的API來使 用,這時就是以程式庫的概念在使用API」。
  17. 17. 程式庫與框架• Template Method的概念,有些API在設計時, 事先規範好某個流程,這些流程不是由你撰 寫,你只需要依API的規範,實作出流程中沒 有實作或僅有簡單實作的部份,「程式在運 行之後,會依API事先定義好的流程進行,過 程中空缺的部份,再呼叫你實作的程式碼, 將這個概念擴大,就突顯出框架的意涵」。
  18. 18. 程式庫與框架• 框架都在實現某個「架構」或某個「流程」• 使用了支援某個架構、流程的框架,就代表 了應用程式必須依照框架定義的架構、流程 來實作,才可以收到使用該框架的效益• 認清自己應用程式將使用的架構、流程,再 物色支援該架構、流程的框架,才是正確的 作法
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×