Каковы ориентиры между логикой рендеринга и бизнес-логикой в ​​MVP? - PullRequest
1 голос
/ 06 января 2012

Я работал над приложением GWT, и мне сказали, что цикл for представляет собой «бизнес-логику» и не должен находиться в классе реализации представления для MVP.Поэтому в качестве привычки я никогда не использую цикл for в своем классе viewImplementation, но помещаю цикл в Presenter (Activity) и вызываю метод в классе viewImplementation для выполнения каждой отдельной итерационной задачи цикла.

Iпонимать, что докладчики не содержат виджетов и имеют бизнес-логику.И наоборот, класс viewImplementation - это место, где у вас есть виджеты и вы сохраняете логику рендеринга, но слишком ли это строгое правило для того, чтобы классифицировать цикл for как бизнес-логику?

Существуют ли рекомендации относительно того, что классифицировать как логику рендеринга по сравнению с бизнесомлогика для MVP с использованием GWT?

1 Ответ

1 голос
/ 06 января 2012

Я не согласен с утверждением "петли составляют бизнес-логику".Это синтаксическая конструкция, а не бизнес-логика.Если он делает это заявление, то (ИМО) следует, что вам следует также избегать «Если заявления» .Насколько это было бы практично и / или жизнеспособно!?

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

РЕДАКТИРОВАТЬ

Один пример, о котором я мог подумать, демонстрирует, как можно найти цикл for в представлении, тогда как в соответствии с правилом for цикл его следует размещать тольков модели.

Представьте, что вы хотите создать панель инструментов с буквами AZ, чтобы пользователь мог щелкнуть ее, чтобы отфильтровать результаты поиска.

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

Псевдокод

Let TB <- Toolbar control
for letter = 65 - 90 (A - Z)
begin
      let item <- Toolbar Item
      set item's text to letter
      add item to TB
end

Это, похоже, опровергает утверждение, что для циклов всегда составляют бизнес-логику и, следовательно, должны быть помещены в модель.

...