MVC设计模式之简单用户管理系统

来源:互联网 发布:网络外宣是什么 编辑:程序博客网 时间:2024/04/27 13:43

MVC设计模式:网站举例


User类:M是对数据库的操作(将控制器传来的数据与数据库进行对比)。

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace MVC设计模式demo{    /// <summary>    /// 数据实体类    /// </summary>    class User    {        int age;        string name;        string address;        public int Age        {            get { return age; }            set { age = value; }        }        public string Name        {            get { return name; }            set { name = value; }        }        public string Address        {            get { return address; }            set { address = value; }        }        public User(int age,string name,string add)        {            this.age = age;            this.name = name;            this.address = add;        }        public override string ToString()        {            return string.Format("name:{0}--age:{1}--address:{2}",name,age,address);//使用占位符        }    }}



UserManager类:C是控制器层,用来对输入的用户名和密码,进行初步的检测(用户名,密码是否符合基本要求)。


using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace MVC设计模式demo{    /// <summary>    /// C层,控制器层,处理用户逻辑    /// </summary>    class UserManager    {        //用户对象集合        List<User> list1 = new List<User>();        //增加数据        //public void AddItem(int age,string name,string add)        //{        //    list1.Add(new User(age,name,add));        //}        public void AddItem(User user)        {            list1.Add(user);        }        //删除数据        /// <summary>        /// 通过名字删除        /// </summary>        /// <param name="name"></param>        public void RemoveByName(string name)        {            for(int i=0;i<list1.Count;i++)            {                if (list1[i].Name == name)                    list1.Remove(list1[i]);            }        }        /// <summary>        /// 通过地址删除        /// </summary>        /// <param name="add"></param>        public void RemoveByAddress(string add)        {            for (int i = 0; i < list1.Count; i++)            {                if (list1[i].Address == add)                    list1.Remove(list1[i]);            }        }        //修改数据        public void Change(string name,int inforNum,string change)        {            for (int i = 0; i < list1.Count; i++)            {                if (list1[i].Name == name)                {                    if (inforNum == 1)                        list1[i].Name = change;                    else if (inforNum == 2)                        list1[i].Age = int.Parse(change);                    else if (inforNum == 3)                        list1[i].Address = change;                }                               }        }        //查询数据        public void Show()        {            for (int i = 0; i < list1.Count; i++)            {               Console.WriteLine(list1[i].ToString());            }        }    }}

主函数类:V是视图层(view),即是UI界面,用于与用户进行的交互。(有按钮,有文字,图像等)

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace MVC设计模式demo{    /// <summary>    /// view层和用户进行交互    /// </summary>    class Program    {        static void Main(string[] args)        {            //UI层已经获得用户的数据,就需要传递给控制器层,所以需要在此层持有一个C层对象            UserManager um = new UserManager();            //死循环            while (true)            {                Console.WriteLine("请输入1(增加),2(修改),3(删除),4(查询)");                //接受用户输入的信息                //等待用户输入一行,敲击回车之后,输入的信息就存储在command中                string command = Console.ReadLine();                switch (command)                {                    //等待用户输入,并存储                    case "1":                        Console.WriteLine("请输入姓名");                        string name = Console.ReadLine();                        Console.WriteLine("请输入年龄");                        //将数字的字符串表示形式转换为它的等效 32 位有符号整数。                        int age = int.Parse(Console.ReadLine());                        Console.WriteLine("请输入地址");                        string add = Console.ReadLine();                        //将数据输入管理对象中                        um.AddItem(new User(age, name, add));                        break;                     //修改操作                    case "2":                        Console.WriteLine("请输入修改人的姓名");                        string name_2 = Console.ReadLine();                        Console.WriteLine("请输入要修改的信息:1(姓名),2(年龄),3(地址)");                        int inforNum = int.Parse(Console.ReadLine());                        Console.WriteLine("请输入要修改的信息");                        string changeInfor = Console.ReadLine();                        //调用方法                        um.Change(name_2, inforNum, changeInfor);                        break;                    //删除操作                    case "3":                        Console.WriteLine("请输入删除的条件,A(地址)/N(姓名)");                        char con = char.Parse(Console.ReadLine());                        if (con == 'A')                        {                            Console.WriteLine("请输入要删除的地址");                            string add_3 = Console.ReadLine();                            um.RemoveByAddress(add_3);                        }                        else if (con == 'N')                        {                             Console.WriteLine("请输入要删除的名字");                            string name_3 = Console.ReadLine();                            um.RemoveByName(name_3);                        }                        break;                     //查询操作                    case "4":                        um.Show();                        break;                    default: break;                }                //判断用户的命令是要干什么                //再进行相应的处理                Console.ReadKey();            }        }    }}


阅读全文
0 0
原创粉丝点击