Как правильно разделить класс? Здравствуйте.
Изучаю основы ООП и MVC на тестовом проекте - каталог организаций.
Есть несколько вопросов по архитектуре, подскажите, пожалуйста.
Есть организации с названием, описанием.
— Каждая организация входит одну или несколько категорий
— Каждая организация содержит один или несколько адресов.
— — Каждый адрес содержит: адрес, режим работы, контакты (телефон, емейл, и т.д).
Сейчас все, что связано с организациями находится в одном классе Companies.
Есть контроллер, модель и view.
Контроллер и модель имеют методы как на получение списка всех компаний, так и просмотр и редактирование конкретной компании.
Подозреваю, что это неправильно и нужно создавать отдельные классы и подключать их из модели и контроллера:
Компания
— Категория
— Адрес
— — Время работы
— — Контакты
Правильно?
И еще:
Как быть с отображением списка компаний, в каком классе реализовать получение списка и с какого класса получить, например, список категорий, в которые сходит каждая компания из списка?

21 Авг 2019 в 07:00
209 +1
0
Ответы
1

Для более правильного разделения классов в вашем проекте, вы можете создать следующую иерархию классов:

Company (Компания) - класс, который будет содержать информацию о компании, такую как название, описание, список категорий, список адресов и т.д.Category (Категория) - класс, который будет содержать информацию о категории, к которой относится компания.Address (Адрес) - класс, который будет содержать информацию об адресе компании, такую как адрес, режим работы, контакты.Contact (Контакт) - класс, который будет содержать информацию о контакте, такую как телефон, email и т.д.WorkingHours (Режим работы) - класс, который будет содержать информацию о режиме работы компании.

Таким образом, вы разделяете функционал на более мелкие и ясно определенные классы, что делает вашу архитектуру более четкой и поддерживаемой.

Что касается отображения списка компаний, вы можете реализовать методы получения списка компаний в классе Company и использовать этот метод в контроллере для отображения списка компаний.
Для получения списка категорий, в которые входит каждая компания, вы можете добавить метод в класс Category, который будет возвращать список категорий для заданной компании.

Надеюсь, это поможет вам в правильной организации классов и методов в вашем проекте. Если у вас возникнут дополнительные вопросы, не стесняйтесь задать их.

20 Апр в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 718 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир