陈力:传智播客古代 珍宝币 泡泡龙游戏开发第43讲:PHP程序设计中的MVC模式
陳力:傳智播客古代 珍寶幣 泡泡龍游戲開發第43講:PHP程序設計中的MVC模式
? ? 模型(M)-視圖(V)-控制器(C)mvc是一種軟件設計模式,通過MVC思想進行實例開發和程序設計。
??? 在前面的應雇員管理系統中,我們使用傳統的方法來完成,然后分析問題所在?如果把刪除用戶的請求,提交給empList.php頁面本身,因為empList.php頁面目前可以接收兩種請求,因此我們需要分別對待,最簡單的方法就是設置一個標志位 flag。分析: 我們如果真的這樣吧刪除請求,直接交給empList.php,? 這個頁面好的結構會被壞,所以這個頁面又會變得臃腫。所以要采用理想的MVC方案。
??? 這里我們必須提到,在軟件開發中有幾個重要的開發模式:Model1 模式、 分層模式(界面、業務邏輯分離) 。
??? mvc模式(php中有很多mvc框架 zend framework thinkphp cakephp yii....) 。
??? Model 1的最重要的特點就是沒有分層的概念,也就是說吧界面顯示和業務邏輯的處理放在一個文件中來完成。
Modle1模式的缺點:
?1. 表現層和業務邏輯層混合在一起。
?2. 在開發過程中,不利于多人的協同開發。
?3. 不利于后期的維護。
Model1模式的優點:
?1. 簡單,開發速度比較快。
?2. 比較適合開發小的項目。
???? 介紹一個MVC的基本概念:mvc是一種軟件設計模式。解釋每個字母的含義:M(Model模型【處理業務邏輯比如xxServcie Admin.class. 工具類】。V(View 視圖/界面。使用php編寫,比如login.php , empList.php就是視圖);C(Controller 控制器,控制器的主要的作用是接收用戶的請求,并調用某個service的方法,完成任務,然后跳轉到下一個頁面)。
???? 模型(M)-視圖(V)-控制器(C)(MVC)是Xerox PARC施樂帕克研究中心在八十年代為編程語言Smalltalk-80發明的一種軟件設計模式,至今已被廣泛使用。
MVC是一個設計模式,它強制性的使應用程序的輸入、處理和輸出分開。使用MVC應用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務。
MVC的各個字母分別是M(model模型)、V(view視圖)、C(controller控制器)。
M 主要由 類 來做,用于處理具體的業務邏輯.
V 由php來做,主要用于做界面(即顯示數據)
C 有php來做,用于去響應用戶的各種請求(比如增,刪,改.)
mvc的核心思想:強制程序員在編寫項目時候,把數據的輸入/數據的處理/數據的輸出分開。
?
應當盡量減少php對 模型類(XxxxService類)的直接調用。
???? 現在我們對mvc有了一個基本認識,現在我們通過雇員管理系統的編寫代碼改寫。刪除用戶的方法,加深對mvc的認識。
實例,使用mvc完成雇員管理系統的增加,修改,查詢。
???? empProcess.php的作用:接受用戶的請求,并決定調用某個Service服務執行某項任務。是一個控制器。
通過對問題的分析,我們可以對程序進行改進:
1:增加控制器
即:EmployeeProcess.php 響應對employee表的各種操作,充當控制中轉的優勢。
2:在控制器(EmployeeProcess.php)中去調用模型,這里我們改進完后,有(model)去完成操作。
現在我們總結MVC的處理過程:
①首先控制器接收用戶的請求,并決定應該調用哪個模型來進行處理
②然后調用模型用來處理用戶的請求并返回數據。
③最后控制器用相應的視圖顯示模型返回的數據,并通過瀏覽器呈現給用戶。
mvc開發模式缺點:
MVC是優秀的設計思想,但是它也存在缺點:
1. 工作量增加了。
??? 由于開發者將一個應用程序分成了三個部件,所以使用MVC同時也意味著你將要管理比以前更多的文件,這一點是顯而易見的。這樣好像我們的工作量增加了,但是請記住這比起它所能帶給我們的好處是不值一提。
2. 不適用小型項目,否則就是機關槍打蚊子。
3. 調試應用程序難度加大。
??? mvc提倡模型和視圖分離,這樣也給調試應用程序到來了一定的困難。每個構件在使用之前都需要經過徹底的測試。一旦你的構件經過了測試,你就可以毫無顧忌的重用它們了。
【推薦閱讀】陳力:傳智播客古代 珍寶幣 泡泡龍游戲開發第43講:PHP程序設計中的MVC模式
總結
以上是生活随笔為你收集整理的陈力:传智播客古代 珍宝币 泡泡龙游戏开发第43讲:PHP程序设计中的MVC模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dita文档_使用DITADoclet和
- 下一篇: ipad的电子书的确够炫