一、MVC 简介
VC 是软件开发行业比较经典的设计模式,是一种代码开发的思想和套路。
将要实现的某个功能分成三个部分:
V:View[视图层],也就是界面,主要负责和用户进行输入输出的交互;
C:Controller[控制器层],负责处理该功能的逻辑部分;
M:Model[模型层],主要对数据进行操作;
二、用户管理系统简介
开发一个控制台的小程序,对用户个人信息进行增删改查四步操作。
这个小程序使用简单的 MVC 模式进行开发,实现代码分层管理。
具体代码如下:
主程序:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;
namespace one
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("------------------------");
Console.WriteLine("------用户管理系统------");
Console.WriteLine("------------------------");
//实例化控制器对象
UserController uc = new UserController();
while(true)
{
//提示用户可以进行操作的类型
Console.WriteLine("请输入相应的指令数字:增加(1) 修改(2) 删除(3) 查看(4)");
//接受用户输入的信息
string command = Console.ReadLine();
//对用户输入的命令进行判断
switch (command)
{
case "1":
Console.WriteLine("请输入名字:");
string name = Console.ReadLine();
Console.WriteLine("请输入年龄:");
int age=int.Parse(Console.ReadLine());
Console.WriteLine("请输入地址:");
string address = Console.ReadLine();
//调用控制器对象中的方法
uc.additem(new User(name, age, address));
break;
case "2":
Console.WriteLine("请输入要修改的用户姓名:");
string name2 = Console.ReadLine();
Console.WriteLine("需要修改:年龄(1) 地址(2)");
string tmp1 = Console.ReadLine();
if(tmp1=="1")
{
Console.WriteLine("请输入年龄修改值:");
int agee = int.Parse(Console.ReadLine());
uc.ModifyAge(name2, agee);
}
else if(tmp1=="2")
{
Console.WriteLine("请输入地址修改值:");
string addresss = Console.ReadLine();
uc.ModifyAddress(name2, addresss);
}
break;
case "3":
Console.WriteLine("请输入删除的方法:姓名删除:(1) 地址删除:(2)");
string tmp = Console.ReadLine();
if(tmp=="1")
{
Console.WriteLine("请输入要删除的名字:");
string name1 = Console.ReadLine();
uc.RemoveByName(name1);
}
else if(tmp=="2")
{
Console.WriteLine("请输入要删除的地址:");
string address1 = Console.ReadLine();
uc.RemoveByName(address1);
}
else
Console.WriteLine("请输入合法指令!");
break;
case "4":
uc.ShowAll();
break;
default:
Console.WriteLine("请输入合法指令!");
break;
}
}
}
}
}
User类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace one
{
class User
{
private string name;
private int age;
private string address;
public string Name
{
get { return name; }
set { name = value; }
}
public int Age
{
get { return age; }
set { age = value; }
}
public string Address
{
get { return address; }
set { address = value; }
}
public User(string name,int age,string address)
{
this.name = name;
this.age = age;
this.address = address;
}
public override string ToString()
{
return string.Format("{0} | {1} | {2}", name, age, address);
}
}
}
UserController类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace one
{
class UserController
{
//实例化一个集合
List<User> userList = new List<User>();
//增加数据
public void additem(User user)
{
userList.Add(user);
}
//删除数据
/// <summary>
/// 通过姓名删除数据
/// </summary>
/// <param name="name"></param>
public void RemoveByName(string name)
{
for (int i = 0; i < userList.Count; i++)
{
if (userList[i].Name == name)
userList.Remove(userList[i]);
}
}
/// <summary>
/// 通过地址删除数据
/// </summary>
/// <param name="address"></param>
public void RemoveByAddress(string address)
{
for (int i = 0; i < userList.Count; i++)
{
if (userList[i].Address == address)
userList.Remove(userList[i]);
}
}
/// <summary>
/// 修改用户年龄
/// </summary>
/// <param name="age"></param>
public void ModifyAge(string name,int age)
{
for (int i = 0; i < userList.Count; i++)
{
if (userList[i].Name == name)
{
userList[i].Age = age;
break;
}
}
}
/// <summary>
/// 修改用户地址
/// </summary>
/// <param name="address"></param>
public void ModifyAddress(string name,string address)
{
for (int i = 0; i < userList.Count; i++)
{
if (userList[i].Name == name)
{
userList[i].Address=address;
break;
}
}
}
//查询数据
public void ShowAll()
{
if (userList.Count == 0)
{
Console.WriteLine("尚未添加用户...");
return;
}
for (int i = 0; i < userList.Count; i++)
Console.WriteLine(userList[i]);
}
}
}