一、MVC简介:
MVC是一种设计模式,是一种代码开发的思想和套路
将要实现的功能分成三个部分:
M:(Model)模型层 主要对数据进行操作。
V:(View)视图层 主要负责和用户进行输入输出的交互。
C:(Controller)交互层 主要负责该功能的逻辑部分。
以网站的登录界面为例进行说明:
登录界面(V)<-------->登录,注册(C)<-------->数据库相关操作(M).
二、使用LIst集合对数据进行增删改查
定义User实体类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace UserManagementSystenm
{
/// <summary>
/// 实体类
/// </summary>
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);
}
}
}
UserControll(用户控制类)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace UserManagementSystenm
{
/// <summary>
/// C(Controll)控制器层---用于处理逻辑
/// </summary>
class UserController
{
//实例化一个User集合
List<User> userList = new List<User>();
/// <summary>
/// 添加数据
/// </summary>
public void AddItem(User user)
{
userList.Add(user);
}
//修改数据
/// <summary>
/// 修改第i个数据的名字
/// </summary>
public void AlterByName(string name,int num) {
userList[num].Name = name;
}
/// <summary>
/// 修改第i个数据的年龄
/// </summary>
public void AlterByAge(int age, int num)
{
userList[num].Age = age;
}
/// <summary>
/// 修改第i个数据的地址
/// </summary>
public void AlterByAddress(string address, int num)
{
userList[num].Address = address;
}
//删除数据
/// <summary>
/// 通过名字删除
/// </summary>
public void RemoveByName(string name)
{
for (int i = 0; i < userList.Count; i++)
{
if (userList[i].Name==name) {
userList.Remove(userList[i]);
}
}
}
/// <summary>
/// 通过地址删除
/// </summary>
public void RemoveByAddress(string address)
{
for (int i = 0; i < userList.Count; i++)
{
if (userList[i].Address == address)
{
userList.Remove(userList[i]);
}
}
}
//查询数据
public void ShowAll() {
if (userList.Count== 0)
{
Console.WriteLine("还未添加数据");
}
for (int i = 0; i < userList.Count; i++)
{
Console.WriteLine(i+1+":"+userList[i]);
}
}
}
}
Program(视图层)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace UserManagementSystenm
{
/// <summary>
/// V(View)视图层----和用户进行交互
/// </summary>
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":
uc.ShowAll();
Console.WriteLine("请输入要修改第几个数据");
int num = int.Parse(Console.ReadLine())-1;
Console.WriteLine("输入修改的属性1.名字2.年龄3.地址");
string AlterConn = Console.ReadLine();
if (AlterConn == "1")
{
Console.WriteLine("输入修改后的名字");
string AlterName = Console.ReadLine();
uc.AlterByName(AlterName,num);
}
else if (AlterConn == "2")
{
Console.WriteLine("输入修改后的年龄");
int AlterAge = int.Parse(Console.ReadLine());
uc.AlterByAge(AlterAge,num);
}
else if (AlterConn == "3")
{
Console.WriteLine("输入修改后的地址");
string AlterAddress = Console.ReadLine();
uc.AlterByAddress(AlterAddress, num);
}
else
{
Console.WriteLine("请输入指定命令符");
}
break;
case "3":
Console.WriteLine("输入按什么类型来修改1.名字2.地址");
string DeletConn = Console.ReadLine();
if (DeletConn == "1")
{
Console.WriteLine("输入要删除的名字");
string DeletName = Console.ReadLine();
uc.RemoveByName(DeletName);
} else if (DeletConn == "2") {
Console.WriteLine("输入要删除的地址");
string DeletAddress = Console.ReadLine();
uc.RemoveByAddress(DeletAddress);
} else {
Console.WriteLine("请输入指定命令符");
}
break;
case "4":
uc.ShowAll();
break;
default:
Console.WriteLine("请输入指定命令符");
break;
}
}
}
}
}