Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

БД - Управление гостиницей / Модель. Класс Клиента

  • На этом уроке мы наконец-таки начнём
    создавать первый класс Бизнес Модели Отеля.
    Это класс Model.Client, для подготовки которого
    потребуется ещё некоторые вспомогательные работы.
  • Дата отправки отчёта: 27 декабря 2015 г.
  • Задание выполнено: за 45 мин.
  • Чему научился: чему то)
  • Что было сложным: ловить ошибки
  • Комментарии: По поводу свойств и методов которые просто делают SET & GET как от них избавится. Да, Я знаю что нарушаю принцип ООП  .
    Пример на классе Client
    1. Делаем поле в классе public string Phone (с заглавной буквы) ; и  получаю доступ напрямую (при этом программа работает быстрее) и код не захламляется бесполезными SET & GET .
    2. И вдруг случилось нечто невообразимое нужно делать проверку на поле Phone .
    3. Решаем задачу просто.
    4.1.  public string Phone -> private string phone или private string _phone (с помощью рефакторинга переименовываем поле в классе)
    4.2. И создаем свойство
          public string Phone
            {
                get { return this._phone; }
                set {
                        if ( CallPhone(value) )
                              this._phone = value;
                        else
                              //........
                    }
            }
    все работает ;-)
  • Оценка видео-уроку:
Отчёт от 5219 за БД - Управление гостиницей / Модель. Класс Клиента


Отчёт от 5219 за БД - Управление гостиницей / Модель. Класс Клиента




Оцени работу

 
Сохранить страницу:

7276. --
Ильшат
Ильшат
ответить
→  Nromik  # БД - Управление гостиницей / Модель. Класс Клиента / 2015-12-27 17:16

Почему считаешь, что нарушаешь принцип ООП? Твой предложенный способ использования свойств - это идиома языка C#, его фишка, хороший тон. Кроме того, это может повысить производительность, так как компилятор может заменить вызов аксессоров set/get на их содержимое, то есть, встроить их код, если они не полиморфные.


1. --
Евгений Волосатов
Евгений Волосатов
ответить



Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Добавлять запись в таблицу клиента.
Вообще, то плохая идея скрещивать бульдога с носорогом. О чем я? О том чтобы передавать ссылку на работу с живой базой в класс клиента. Данные об базе вообще не должны знать. Тем более с моей точки зрения Client - это должна быть одна строчка клиентов, Clients - это многие строчки клиентов. А то получилось нечто среднее между моделью и хранимыми в них данными.


Научился: Добавлять клиентов в таблицу, описывать методы через ///.
Отличный урок!) Сделала много открытий для себя)