MVC 模式

来源:互联网 发布:英镑 知乎 编辑:程序博客网 时间:2024/05/22 10:36

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();        }    }

结果 :

这里写图片描述

1 0
原创粉丝点击