Архитектура сущностей в MVC

Я хочу реализовать функцию оценки на моем сайте (шаблон mvc). Объектами управляет OR-Mapper (Doctrine).
Пользователь должен иметь возможность оценивать события, других пользователей, сообщения и т. Д.
Этот вопрос о том, как построить правильную архитектуру объекта. Моя идея:


[1] Создайте один абстрактный класс Rating, чтобы добавить поля, которые имеют все рейтинги (например, ‘ratingAmount’). Затем я бы создал подкласс для EventRating, UserRating, PostRating и т. Д. Эти подклассы получают дополнительные поля и поле сопоставления для соответствующего объекта например, Класс EventRating будет связан с объектом Event с отношением ManyToOne. Для построения этого отношения я бы добавил поле $ event в классе EventRating, а в сущности Event — коллекцию рейтингов типа EventRating.

[2] Тогда я бы создал один RatingController для обработки всех рейтингов для всех сущностей. Я думаю, что создание также «SubControllers» было бы неправильно, например, EventRatingController будет пропустить шаблон MVC.


Будет ли это правильной реализацией или есть лучшие способы для ее разработки? Я имею в виду, что я мог бы также создать один большой класс Rating и добавить в него все «поля подключения», но я думаю, что это не будет правильным способом сделать это.

Этот вопрос носит более общий характер, поскольку вы также можете перенести функцию «Рейтинг» в функцию «Уведомление», где События могут быть связаны с Уведомлением, Публикацией и т. Д.

С уважением.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]