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

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

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

Доброго времени суток! Имеются классы:
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();
        }
    }
}
В классе UsersContainer два метода для обновления Update и Upd. Какой из них лучше оставить? Возможно ли сократить код метода Search? Где правильней всего читать файл данных и записывать в него? В отдельном классе или может читать в конструкторе/записывать в методе? Подскажите пожалуйста.

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

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

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


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

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

6   голосов , оценка 4.333 из 5
Похожие ответы