MVC模式
基本介绍
1.Model - View - Controller(模型 - 视图 - 控制器)模式
2.应用场景:程序的分层开发
3.角色
(1)Model:模型,代表一个存取数据的对象或普通 JavaBeans,它也可以带有逻辑,在数据变化时更新 Controller
(2)View:视图,代表 Model 包含的数据的可视化。
(3)Controller:控制器,作用于 Model 和 View 上,控制数据流向 Model 对象,并在数据变化时更新 View,使 View 与 Model 分离开
代码示例
public class MVC {//客户端
public static void main(String[] args) {
Model model = retrieveModelFromDatabase();
View view = new View();
Controller controller = new Controller(model, view);
controller.updateView();
controller.setName("John");
controller.setNo("20");
controller.updateView();
}
private static Model retrieveModelFromDatabase() {
Model model = new Model();
model.setName("Robert");
model.setNo("10");
return model;
}
}
class Model {//模型
private String no;
private String name;
public String getNo() {
return no;
}
public void setNo(String no) {
this.no = no;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
class View {//视图
public void printModelDetails(String name, String no) {
System.out.println("Model");
System.out.println("Name:" + name);
System.out.println("No:" + no);
}
}
class Controller {//控制器
private Model model;
private View view;
public Controller(Model model, View view) {
this.model = model;
this.view = view;
}
public void setName(String name) {
model.setName(name);
}
public String getName() {
return model.getName();
}
public void setNo(String no) {
model.setNo(no);
}
public String getNo() {
return model.getNo();
}
public void updateView() {
view.printModelDetails(model.getName(), model.getNo());
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战