MVC 模式 :
语言 : C#
说明 :
MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。
- Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。
- View(视图) - 视图代表模型包含的数据的可视化。
- Controller(控制器) - 控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。
实现 :
以一个Person 对象作为模型 ( Model ) , 视图 ( View ) 原本的作用是刷新显示 , 这里用Console.WriteLine 文本输出代替 , 控制类 ( Controller ) 存储 model 和 view , 最后 MVC类 实例化 控制类 ( Controller ) , 通过控制类修改数据 和 刷新显示 .
创建模型类 ( Person ) :
public class Person
{
private string name;
private int age;
public void setAge(int age)
{
this.age = age;
}
public int getAge()
{
return age;
}
public void setName(string name)
{
this.name = name;
}
public string getName()
{
return name;
}
}
创建视图类 ( View ) :
public class View
{
public void show(string name, int age)
{
Console.WriteLine("刷新显示数据 : ");
Console.WriteLine("名字 = "+name);
Console.WriteLine("年龄 = "+age);
Console.WriteLine();
}
}
创建控制类 ( Controller ) :
public class Controller
{
private Person model;
private View view;
public Controller(Person model, View view)
{
this.model = model;
this.view = view;
}
public void setAge(int age)
{
model.setAge(age);
}
public int getAge()
{
return model.getAge();
}
public void setName(string name)
{
model.setName(name);
}
public string getName()
{
return model.getName();
}
//更新显示
public void updateView()
{
string name = model.getName();
int age = model.getAge();
view.show(name, age);
}
}
MVC 模式入口 ( MVC Pattern ) :
public class MVCPattern
{
static void Main(string[] args)
{
//初始化数据类
Person model = new Person();
model.setName("小明");
model.setAge(21);
//实例化视图类
View view = new View();
//实例化控制类
Controller controller = new Controller(model, view);
//刷新显示
controller.updateView();
//更改数据
controller.setAge(30);
//再次刷新显示
controller.updateView();
Console.ReadKey();
}
}