MVC及List泛型集合案例之使用者管理系統
阿新 • • 發佈:2019-02-20
一、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; } } } } }