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

 Всем привет.   

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

  

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

При создании объекта Номер, он добавляется в Лист аргумент в Объекте Отель.   

  

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

  

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

  

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

  

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

  

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

  

Спасибо большое. 

 На общем уровне - классы и объекты позволяют просто удобно работать с предметной областью, одинаково , по одним и тем же правилам, при этом скрывая реализацию. можно прочитать про ООП в целом и про SOLID отдельно. Если подключается бд то тут либо что-то не правильно понято либо что-то не дано, но ощущается что максимум - учебный проект. Конечно, в нормальной ситуации вся эта информация будет храниться в базе в нормализованном виде.  

  

Ну а удаление в бд - не должно приводить к изменению в объекте, наоборот - объект это в данном случае интерфейс для взаимодействия с базой и не надо допускать возможности производить операции над базой вне них 

 Чтобы не переписывать потом весь проект, если придётся MySQL заменить на другую СУБД. А будет достаточно только отредактировать те классы, которые работают непосредственно с базой данных, остальное с БД работать напрямую не должно, только через эти классы. 

 Классы - это способ организации кода. С хранением данных в БД это вообще ни как не связано. 

 Короче, я так понял что у тебя вопрос коротко звучит так: Зачем нужны классы, если в них нельзя хранить информацию, а все равно нужна бд?  

  

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