Как разработать отдельные функции Laravel приложения? - PullRequest
0 голосов
/ 13 апреля 2020

Если у меня есть модель данных «Пользователь», а другая представляет «Пост», эти две модели вместе представляют ядро ​​бизнес-логики c, приложения для социальных сетей, где основными игроками здесь являются Пост и Пользователь. И у меня есть несколько моделей, выпущенных как для пользователя, так и для поста. И они представляют функции в бизнес-логике c, например, есть модель комментариев (это связь между публикацией и пользователем), и у меня есть отношение взаимодействия, где пользователю может понравиться сообщение или нет.

Я хочу создать приложение, имеющее базовую логику бизнеса c (здесь - «Почта» и «Использование»), и его функции могут быть добавлены или нет. или Иногда я хочу добавить некоторые, а некоторые нет.

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

Проблема в том, что я не могу отделить функции от основной логики c. Например, когда я пытаюсь получить данные модели, конечно, будут включены некоторые данные других моделей, это затрудняет устранение этих функций в будущем.

Так что в репозитории Post у меня может быть следующее code:

  $postResponse = Post::where('id', $post_id);
  $postResponse->Comments = Post->comments()->where('user_id', $user_id);

  // and so on ...

Если я захочу удалить функцию «Комментарий» и все опубликованные данные, это будет огромная работа.

Мне интересно, какой шаблон лучше всего использовать в этот случай? Я только что прочитал о SOLID Принципах, но я не могу применить их в этом случае, например, как применить Принцип Единой Ответственности для разделения выборки данных и их составления в целом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...