Я использую codeigniter для проекта, и у меня есть пара вопросов о правильном способе разработки реализации.
У меня есть класс "Deal", который в основном содержит атрибуты сделки, такие как имя, истечение срока действия, описание сделки и т. д.
Кроме того, у меня также есть класс "Кампания", который имеет дело с внешним материалом, связанным с сделкой, но на самом деле не связанным с ним.Например, кампания может содержать заголовок и изображение нижнего колонтитула, тему, в которую будет заключена сделка, и так далее.Кампания может иметь только одну сделку за раз, и то же самое касается сделки.Когда срок действия сделки истекает, к той же кампании может быть привязана другая сделка.
Данные для "Сделок" и "Кампании" поступают из их собственных отдельных классов моделей (DealsModel и CampaignModel).
Поскольку я хотел, чтобы контроллер вызывал только один класс, чтобы настроить кампанию и обрабатывать представление, я создал промежуточный класс под названием ViewManager, который создает соответствующую логику и массирует данные как из класса «Сделки», так и«Campaign» перед отправкой его контроллеру, который возвращает его в представление.
Теперь у меня есть некоторые функции в контроллере, которым требуется прямой доступ к классу модели.Мне интересно, должен ли я делегировать эту функциональность классу ViewManager и позволить ему обрабатывать его, так как у него есть экземпляр модели, или мне следует создать новый экземпляр модели в контроллере и вызвать его напрямую.
Такое ощущение, что чем больше я делегирую функции ViewManager, тем более запутанным становится код.