MVC模式

// * model(模型)-表示攜帶數據的對象。它也可以具有邏輯來更新控制器,如果其數據改變。

 

public class Employee {

 

private String id;

private String name;

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}

 

// * view(視圖)-視圖表示模型包含數據的可視化。通常它有UI邏輯

 

public class EmployeeView {

 

public void printEmployeeDetails(String name, String no) {

System.out.println("Employee:");

System.out.println("Name:" + name);

System.out.println("ID" + no);

}

}

//* controller(控制器)-控制器引用模型包含的數據的可視化。

//它控制數據流進入模型對象,並在數據更改時更新視圖。它保持視圖和模型分開。

 

public class EmployeeController {

 

private Employee model;

private EmployeeView view;

public EmployeeController(Employee model,EmployeeView view){

this.model=model;

this.view=view;

}

//設置僱員名稱

public void setEmployeeName(String name){

model.setName(name);

}

//獲取僱員名稱

public String getEmployeeName(){

return model.getName();

}

//設置僱員ID

public void setEmployeeId(String rollNo){

model.setId(rollNo);

}

//獲取僱員ID

public String getEmployeeId(){

return model.getId();

}

//更新視圖 模型名稱、模型ID

public void updateView(){

view.printEmployeeDetails(model.getName(), model.getId());

}

}

 

//分別創建對象,打印 更新數據,打印

public class Main {

 

public static void main(String[] args){

Employee model = new Employee();

model.setName("Tom");

model.setId("1");

EmployeeView view = new EmployeeView();

EmployeeController controller = new EmployeeController(model, view);

controller.updateView();

controller.setEmployeeName("New Name");

controller.updateView();

/**Employee:

Name:Tom

ID1

Employee:

Name:New Name

ID1

*/

}

}

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章