# MVC 模式
Model-View-Controller(模型 - 视图 - 控制器)模式用于应用程序的分层开发。
- Model(模型):模型代表一个存取数据的对象,在数据变化时更新控制器。
- View(视图):视图代表模型包含的数据的可视化。
- Controller(控制器):控制器作用于模型和视图上,使视图与模型分离开。它控制数据流向模型对象,并在数据变化时更新视图。
# 类图
# 代码
# 模型
| namespace MVCPattern |
| { |
| |
| |
| |
| public class Model |
| { |
| public string Name; |
| |
| public Model(string name) |
| { |
| Name = name; |
| } |
| |
| |
| |
| |
| |
| public void SetName(string name) |
| { |
| Name = name; |
| } |
| } |
| } |
# 视图
| namespace MVCPattern |
| { |
| |
| |
| |
| public class View |
| { |
| public void Show(Model model) |
| { |
| Console.WriteLine("Model: " + model.Name); |
| } |
| } |
| } |
# 控制器
| namespace MVCPattern |
| { |
| |
| |
| |
| public class Controller |
| { |
| private Model MyModel; |
| private View MyView; |
| |
| public Controller(Model myModel, View myView) |
| { |
| MyModel = myModel; |
| MyView = myView; |
| } |
| |
| |
| |
| |
| |
| public void SetModelName(string name) |
| { |
| MyModel.SetName(name); |
| } |
| |
| |
| |
| |
| public void UpdateView() |
| { |
| MyView.Show(MyModel); |
| } |
| } |
| } |
# 测试
| namespace MVCPattern |
| { |
| public class Program |
| { |
| private static void Main() |
| { |
| Controller controller = new Controller(new Model("Model_0"), new View()); |
| |
| controller.UpdateView(); |
| |
| controller.SetModelName("Model_1"); |
| |
| controller.UpdateView(); |
| } |
| } |
| } |
运行结果:
Model: Model_0
Model: Model_1