简介:MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。
①Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。②View(视图) - 视图代表模型包含的数据的可视化。
③Controller(控制器) - 控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。
MVC模式大多用于web开发中,做过web开发的应该会很熟悉该设计模式。
/**
*model
*/
public class User {
private Integer id;
private String name;
public User(Integer id, String name) {
super();
this.id = id;
this.name = name;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
/**
*view,可以展示有关model的信息
*/
class UsertView{
public void showUserInfo(Integer id,String name){
System.err.println("id是:"+id+",name是:"+name);
}
}
/**
*控制器
*/
class UserController{
private User user;
private UsertView usertView;
public UserController(User user, UsertView usertView) {
super();
this.user = user;
this.usertView = usertView;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public UsertView getUsertView() {
return usertView;
}
public void setUsertView(UsertView usertView) {
this.usertView = usertView;
}
public void updateView(){
usertView.showUserInfo(user.getId(), user.getName());
}
}
主程序:
public class Main {
public static void main(String[] args) {
User user=getUserById(1);
UsertView view=new UsertView();
UserController controller=new UserController(user, view);
controller.updateView();
}
/**
* 模拟根据id从数据库获取对象
*/
private static User getUserById(Integer id){
User user=new User(id, "管理员");
return user;
}
}
运行结果:
id是:1,name是:管理员
参考文章:
mvc模式