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

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

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

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

  • На этом уроке мы создадим модель на комнат, класс Room.
    Чтобы сделать это быстро - мы воспользуемся заготовками
    из класса Client.cs. В этом уроке мы не пишем тестов,
    поэтому класс создали в рекордно короткое время, 15 мин.
    Однако, создание тестов никто не отменял - это самостоятельное задание.
  • Дата отправки отчёта: 8 января 2016 г.
  • Задание выполнено: за 3 час. 00 мин.
  • Чему научился: Повторил создание методов Select, Insert, Update.
    Попрактиковал создание тестов.
  • Что было сложным: Создать тесты.
  • Комментарии: В видео уроке почему-то было пропущено создание методов (SetRoom, SetBeds и т.д.) для установки значений полей класса Room.
  • Оценка видео-уроку:
Отчёт от 8194 за БД - Управление гостиницей / Модель. Класс комнаты


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




Оцени работу

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

8194. --
Сергей
Сергей
ответить
# БД - Управление гостиницей / Модель. Класс комнаты / 2016-01-08 10:55

У меня возникло несколько вопросов. Может, кто то сможет ответить.
1. Почему в методах Insert и Update мы в качестве значений, которые добавляем или которыми обновляем данные в БД используем поля экземпляра объекта, а не передана напрямую в методы все необходимые нам поля? С периодом Update еще могу согласиться, чтобы использовать поля экземпляра, т.к. мы можем изменить любое из полей. А вот с методом Insert не понимаю, почему лучше делать так, как нам предложено. (
2. Разве обязательно в наших методах к полям объекта обращаться через this? Насколько знаю, так рекомендуется делать, только когда в методе используется одноимённые переменные.
3. В классах Client и Room поля классов объявлены public, но в то же время объявляются свойства для этих полей, причем свойство set объявляется как private. Мне думается, что поля должны объявляться как private. Если я не прав, то почему?


7276. --
Ильшат
Ильшат
ответить
→  Сергей  # БД - Управление гостиницей / Модель. Класс комнаты / 2016-01-08 11:56

1. Евгений Витольдович выбрал такое решение, я думаю оно простое и понятное. Мы создаем объект Room, устанавливаем значения полей и вызываем необходимую операцию (Select, Insert, Update). Я возможно выбрал бы другое решение, но я этот курс не проходил, поэтому что-то конкретное предложить не могу, предложи свое решение)
2. Да, явный this избыточен, можно обойтись без него. Плюс его явного использования в том, что когда компилятор видит конструкцию this.a, то ищет нечто с именем "a" в области описания класса и если такой сущности нету, то радостно кидает нам ошибку компиляции, что есть хорошо и спасает нас от возможных ошибок.
3. Это не просто поля, это свойства, точнее автосвойства. Они добавлены в код для того, чтобы клиенты класса Room могли читать данные из объекта, например из полей beds, floor, type и прочее, но не могли в них напрямую записывать. Запись возможна только с помощью методов SetBeds, SetFloor, SetType. Можно как вариант перенести эти методы в сеттеры соответствующих свойств.


24. --
Олюшка
Олюшка
ответить
→  Сергей  # БД - Управление гостиницей / Модель. Класс комнаты / 2016-01-08 13:34

Сергей, рада что ты ответственно и серьезно подошел и выполнил это задание, знаю что ты если еще не нашел ответы на свои вопросы, то скоро получишь необходимые знания! Молодец!



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





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

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

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

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


Согласен с Игромистром, что нужно вторую версию этой программы делать. Поэтому я не хочу критиковать этот курс. Глупо критиковать маленького ребенка. Многие вещи бы уже точно можно по другому сделать.


Научился: Повторил редактирование базы
Трудности: создавать тесты. Не знаю, как тестировать Update!!!
Почему не писали метод, который находит комнаты по заданному критерию?(количеству кроватей, названию)