Справочник с соблюдением принципов ООП - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток! Имеются классы:
Листинг программы
  1. namespace Spravochnik
  2. {
  3. public class User
  4. {
  5. [DisplayName("Код")]
  6. public int Id { get; set; }
  7. [DisplayName("Фамилия")]
  8. public string Lname { get; set; }
  9. [DisplayName("Имя")]
  10. public string Fname { get; set; }
  11. [DisplayName("Отчество")]
  12. public string Sname { get; set; }
  13. [DisplayName("Адрес")]
  14. public string Adress { get; set; }
  15. [DisplayName("Номер телефона")]
  16. public string Phone { get; set; }
  17. public User(int I, string L, string F, string S, string A, string P)
  18. {
  19. Id = I; Fname = F;Lname = L;Sname = S;Adress = A; Phone = P;
  20. }
  21. }
  22. }
Листинг программы
  1. namespace Spravochnik
  2. {
  3. public class UsersContainer
  4. {
  5. public List<User> Users { get; set; }
  6. public UsersContainer()
  7. {
  8. Users = new List<User>();
  9. }
  10. public void Add(int I, string L, string F, string S, string A, string P)
  11. {
  12. User user = new User(I, L, F, S, A, P);
  13. Users.Add(user);
  14. }
  15. public void Delete(int I)
  16. {
  17. User finder = Users.Find(x => x.Id == I);
  18. Users.Remove(finder);
  19. }
  20. public void Update(int I, string L, string F, string S, string A, string P)
  21. {
  22. User finder = Users.Find(x => x.Id == I);
  23. finder.Lname = L; finder.Fname = F; finder.Sname = S; finder.Adress = A; finder.Phone = P;
  24. }
  25. public void Upd(User user)
  26. {
  27. User finder = Users.Find(x => x.Id == user.Id);
  28. finder.Lname = user.Lname; finder.Fname = user.Fname; finder.Sname = user.Sname;
  29. finder.Adress = user.Adress; finder.Phone = user.Phone;
  30. }
  31. public List<User> Search(string s)
  32. {
  33. var Searched = from item in Users
  34. where item.Lname.ToLower().Contains(s.ToLower()) ||
  35. item.Fname.ToLower().Contains(s.ToLower()) ||
  36. item.Sname.ToLower().Contains(s.ToLower()) ||
  37. item.Adress.ToLower().Contains(s.ToLower()) ||
  38. item.Phone.ToLower().Contains(s.ToLower())
  39. select item;
  40. return Searched.ToList();
  41. }
  42. }
  43. }
В классе UsersContainer два метода для обновления Update и Upd. Какой из них лучше оставить? Возможно ли сократить код метода Search? Где правильней всего читать файл данных и записывать в него? В отдельном классе или может читать в конструкторе/записывать в методе? Подскажите пожалуйста.

Решение задачи: «Справочник с соблюдением принципов ООП»

textual
Листинг программы
  1. new User(6, "Иван", "Иванович", "Иванов", "8-908-666-66-66", "г. Москва"); // это намёк

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы