Я приведу аргумент в пользу «тупых» действий.
Возлагая ответственность за сбор данных представления на свои действия, вы связываете свои действия с требованиями к данным ваших представлений.
Напротив, общие действия, которые декларативно описывают намерение пользователя или некоторый переход состояния в вашем приложении, позволяют любому Магазину, который отвечает на это действие, преобразовать намерение в состояние, адаптированное специально для представлений. подписался на него.
Это дает возможность более многочисленным, но меньшим, более специализированным магазинам. Я выступаю за этот стиль, потому что
- это дает вам больше гибкости в том, как представления используют данные Store.
- «умные» магазины, специализированные для потребляющих их представлений, будут меньше и менее связаны со сложными приложениями, чем «умные» действия, от которых потенциально зависят многие представления.
Цель Магазина — предоставить данные представлениям. Название «Действие» предполагает, что его цель — описать изменение в моем приложении.
Предположим, вам нужно добавить виджет в существующее представление Dashboard, который показывает новые причудливые сводные данные, которые только что развернула ваша бэкэнд-команда.
С «умными» действиями вам может потребоваться изменить действие «обновить панель инструментов», чтобы использовать новый API. Однако «Обновление приборной панели» в абстрактном смысле не изменилось. Требования к данным ваших представлений — это то, что изменилось.
С помощью «тупых» действий вы можете добавить новое хранилище для нового виджета и настроить его так, чтобы при получении типа действия «обновить панель управления» он отправлял запрос на новые данные и предоставлял их новый виджет, как только он будет готов. Для меня имеет смысл, что когда слою представления требуется больше или другие данные, то, что я изменяю, — это источники этих данных: хранилища.
person
Carlos Lalimarmo
schedule
11.10.2015