@NeoVic2006

Зачем нужны классы при работе с MySQL?

Всем привет.
Я не опытный разработчик поэтому будет очень банальный вопрос.

У меня есть небольшой проект "Отель". Мне сказали использовать там 2 класса: Отель, и Номер.
При создании объекта Номер, он добавляется в Лист аргумент в Объекте Отель.

Соответсвенно я храню все объекты Номеров в листе в Отеле. И когда мне надо указать что Клиент зарегистрировался в номере, я вызываю нужный мне объект Номера, и меняю пару параметров там, типо номер "Занят" и добавляю имя клиента в этот объект.

Следующим шагом мне сказали добавить БД MySQL, для того чтобы хранить данные там. Тогда возникает вопрос, зачем нужны Классы Отель, и Номер, если в любом случае они не будут храниться в БД. В БД будет храниться информация в виде: Номер, Клиент, курить можно или нет и т.д. Не нужно никаких классов тогда. Зачем создавать объекты если при окончании работы скрипта они все просто удаляются.

Соответственно вопрос в архитектуре: зачем вообще создавать объекты классов, если вся полезная инфа будет храниться в БД?

А создавая Объекты + еще добавляя инфу в БД, потом при удалении чего то из БД, надо удалять это из объекта..... Не имеет смысла.

Пожалуйста объясните нубу, как это все организованно.

Спасибо большое.
  • Вопрос задан
  • 230 просмотров
Пригласить эксперта
Ответы на вопрос 4
inoise
@inoise
Solution Architect, AWS Certified, Serverless
На общем уровне - классы и объекты позволяют просто удобно работать с предметной областью, одинаково , по одним и тем же правилам, при этом скрывая реализацию. можно прочитать про ООП в целом и про SOLID отдельно. Если подключается бд то тут либо что-то не правильно понято либо что-то не дано, но ощущается что максимум - учебный проект. Конечно, в нормальной ситуации вся эта информация будет храниться в базе в нормализованном виде.

Ну а удаление в бд - не должно приводить к изменению в объекте, наоборот - объект это в данном случае интерфейс для взаимодействия с базой и не надо допускать возможности производить операции над базой вне них
Ответ написан
SagePtr
@SagePtr
Еда - это святое
Чтобы не переписывать потом весь проект, если придётся MySQL заменить на другую СУБД. А будет достаточно только отредактировать те классы, которые работают непосредственно с базой данных, остальное с БД работать напрямую не должно, только через эти классы.
Ответ написан
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Классы - это способ организации кода. С хранением данных в БД это вообще ни как не связано.
Ответ написан
Комментировать
ThunderCat
@ThunderCat
{PHP, MySql, HTML, JS, CSS} developer
Короче, я так понял что у тебя вопрос коротко звучит так: Зачем нужны классы, если в них нельзя хранить информацию, а все равно нужна бд?

Коротко - данные НЕ ХРАНЯТСЯ в объектах, объекты предназначены для организации кода и к хранению никакого отношения не имеют. Объекты в момент создания пусты, или инициализируются некоторыми данными извне (например, из бд), для большего понимания и если сильно упрощать - это усложненные массивы, которые умеют еще и манипуляции со своими данными.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы