Толстые модели, тощие контроллеры и шаблон разработки MVC

75
задан Ciaran 29 May 2011 в 15:26
поделиться

2 ответа

Немного трудно дать Вам "правильные" ответы, так как некоторые из них имеют дело со специфическими особенностями платформы (независимо от тех, Вы работаете с).

, По крайней мере, с точки зрения CakePHP:

  1. Да

  2. Что-либо, что имеет дело с манипулированием данными или манипулированием данными, должно быть в модели. С точки зрения CakePHP что относительно простой находки () метод?... Если существует шанс, что это сделает что-то "специальное" (т.е. вспомнит определенный набор 'условия'), в котором Вы, возможно, нуждались бы в другом месте, это - хорошее оправдание перенестись в методе модели.

  3. , К сожалению, никогда нет легкого ответа, и рефакторинг кода является естественным процессом. Иногда Вы просто будите движение: "святые макароны..., которые должны быть в модели!" (хорошо, возможно, Вы не делаете этого, но я имею:))

55
ответ дан thaJeztah 24 November 2019 в 11:43
поделиться

Я использую, по крайней мере, эти два 'теста', чтобы проверить, находится ли моя логика в правильном месте:

1), Если я пишу unittest, легко только создать один 'реальный' объект сделать тест на (= объект, который Вы используете в производстве), и не включают много других, за исключением, возможно, некоторых объектов значения. При необходимости в и фактическом объекте модели и в фактическом объекте контроллера сделать тест мог быть сигналом, необходимо переместить функциональность.

2) Задают мне вопрос: что, если бы я добавил другой способ использовать эти классы, я должен был бы копировать функциональность способом, которая является почти вставкой копии?... Это - также, вероятно, серьезное основание переместить ту функциональность.

также интересный: http://www.martinfowler.com/bliki/AnemicDomainModel.html

19
ответ дан Simon Groenewolt 24 November 2019 в 11:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: