Справочник с соблюдением принципов ООП - C#
Формулировка задачи:
Доброго времени суток!
Имеются классы:
В классе UsersContainer два метода для обновления
namespace Spravochnik { public class User { [DisplayName("Код")] public int Id { get; set; } [DisplayName("Фамилия")] public string Lname { get; set; } [DisplayName("Имя")] public string Fname { get; set; } [DisplayName("Отчество")] public string Sname { get; set; } [DisplayName("Адрес")] public string Adress { get; set; } [DisplayName("Номер телефона")] public string Phone { get; set; } public User(int I, string L, string F, string S, string A, string P) { Id = I; Fname = F;Lname = L;Sname = S;Adress = A; Phone = P; } } }
namespace Spravochnik { public class UsersContainer { public List<User> Users { get; set; } public UsersContainer() { Users = new List<User>(); } public void Add(int I, string L, string F, string S, string A, string P) { User user = new User(I, L, F, S, A, P); Users.Add(user); } public void Delete(int I) { User finder = Users.Find(x => x.Id == I); Users.Remove(finder); } public void Update(int I, string L, string F, string S, string A, string P) { User finder = Users.Find(x => x.Id == I); finder.Lname = L; finder.Fname = F; finder.Sname = S; finder.Adress = A; finder.Phone = P; } public void Upd(User user) { User finder = Users.Find(x => x.Id == user.Id); finder.Lname = user.Lname; finder.Fname = user.Fname; finder.Sname = user.Sname; finder.Adress = user.Adress; finder.Phone = user.Phone; } public List<User> Search(string s) { var Searched = from item in Users where item.Lname.ToLower().Contains(s.ToLower()) || item.Fname.ToLower().Contains(s.ToLower()) || item.Sname.ToLower().Contains(s.ToLower()) || item.Adress.ToLower().Contains(s.ToLower()) || item.Phone.ToLower().Contains(s.ToLower()) select item; return Searched.ToList(); } } }
Update
и Upd
. Какой из них лучше оставить? Возможно ли сократить код метода Search
? Где правильней всего читать файл данных и записывать в него? В отдельном классе или может читать в конструкторе/записывать в методе? Подскажите пожалуйста. Решение задачи: «Справочник с соблюдением принципов ООП»
textual
Листинг программы
new User(6, "Иван", "Иванович", "Иванов", "8-908-666-66-66", "г. Москва"); // это намёк
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д