詳細內容
model view controller簡稱mvc,即模型檢視控制器。mvc設計模式指定應用程式由資料模型、呈現資訊和控制資訊組成。該模式要求將每個模式分成不同的物件。
mvc更像是一種架構模式,但並不適用於完整的應用程式。mvc主要與應用程式的ui 互動層有關。你仍然需要業務邏輯層,可能還需要一些服務層和資料訪問層。
該模型(model)只包含純應用程式資料,不包含描述如何將資料呈現給使用者的邏輯。
檢視(view)向使用者顯示模型的資料。檢視知道如何訪問模型的資料,但它不知道這些資料意味著什麼,也不知道使用者可以做什麼來操作它。
控制器(controller)存在於檢視和模型之間。它偵聽檢視(或其他外部源)觸發的事件,並對這些事件執行適當的響應。在大多數情況下,響應是呼叫模型上的方法。由於檢視和模型是通過通知機制連線的,因此此操作的結果將自動反映在檢視中。
讓我們看乙個mvc設計模式的例子。class student
private string rollno;
private string name;
public string getrollno()
return rollno;
public void setrollno(string rollno)
this.rollno = rollno;
public string getname()
return name;
public void setname(string name)
this.name = name;
class studentview
public void printstudentdetails(string studentname, string studentrollno)
system.out.println("學生: ");
system.out.println("姓名: " + studentname);
system.out.println("編號: " + studentrollno);
class studentcontroller
private student model;
private studentview view;
public studentcontroller(student model, studentview view)
this.model = model;
this.view = view;
public void setstudentname(string name)
model.setname(name);
public string getstudentname()
return model.getname();
public void setstudentrollno(string rollno)
model.setrollno(rollno);
public string getstudentrollno()
return model.getrollno();
public void updateview()
view.printstudentdetails(model.getname(), model.getrollno());
class mvcpattern
public static void main(string args)
student model = retrivestudentfromdatabase();
studentview view = new studentview();
studentcontroller controller = new studentcontroller(model, view);
controller.updateview();
controller.setstudentname("vikram sharma");
controller.updateview();
private static student retrivestudentfromdatabase()
student student = new student();
student.setname("lokesh sharma");
student.setrollno("15ucs157");
return student;
輸出:學生:
姓名: lokesh sharma
編號: 15ucs157
學生:姓名: vikram sharma
編號: 15ucs157
優勢• 多個開發人員可以同時處理模型、控制器和檢視。
• mvc支援對控制器上的相關操作進行邏輯分組。特定模型的檢視也被分組在一起。
• 模型可以有多個檢視。
缺點• 框架導航可能很複雜,因為它引入了新的抽象層,並且要求使用者適應mvc的分解標準。
• 多種技術的知識成為規範。使用mvc的開發人員需要精通多種技術
什麼是MVC設計模式
世界上並沒有完美的程式,但是我們並不因此而沮喪,因為寫程式就是乙個不斷追求完美的過程。意圖適用於應用程式的分層開發 model 業務處理與資料固化 view 資料展示 controller model與view的協調與控制 類圖 例項 static class model public string...
什麼是 MVC 模式?
mvc model view controller,模型 檢視 控制器模式 用於表示一種軟體架構模式。它把軟體系統分為三個基本部分 模型 model 檢視 view 和控制器 controller mvc 由 trygve reenskaug 提出,最早被應用在 smalltalk 80 環境中。模...
PHP設計模式 六 MVC
20世紀80年代,計算機發展迅速,程式設計技術也日益分化。桌面應用程式設計,也逐漸出現了使用者圖形介面和程式邏輯分離的程式設計。到了90年代,web的出現更是讓這種程式設計模式得以延續。這種設計模式便是mvc model view control 除了mvc,還有mvc的變種,如mvvm model...