每一種組件和技術都有各自的功能和特點,在編寫程序時,我們應該是以他們的功能來設計它們的作用,就好像在餐廳吃飯,服務員把菜譜提供給顧客,顧客根據菜譜點菜,然后把菜單交給服務員,而服務員根據菜單中冷、熱菜的不同,交給不同的廚師,廚師做好菜后,把菜交給服務員,由服務員把菜給顧客端過來。
分析:
服務員是這個過程的組織者和控制器(Controller),他負責接待顧客,並且把菜譜顯示給顧客,把顧客的點菜內容(類似於用戶的請求),交給廚師加工菜餚(類似於進行訪問數據庫和處理業務的Java類),最后服務員把菜餚端給顧客(類似於響應得JSP)。
在這個過程中,對於顧客先看到的是菜譜,之后是整桌的菜餚。在程序中,用戶能夠看到的就是HTML、JSP頁面,這部分稱為視圖(View)。當服務員把顧客的點菜內容交給廚師后,廚師根據不同的菜,采用不同的原料和配料來加工菜餚。這類似於在程序中根據用戶提交不同的請求數據,訪問數據庫或是進行業務邏輯處理,這部分稱為模型(Model)。
在程序設計中,把采用模型(Model)、視圖(View)、視圖(Controller)的設計方式稱為MVC設計模式。