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

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

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

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

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

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

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

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