Автор оригинала: Cristian Salcescu.
Откройте для себя функциональный JavaScript был назван одним из Лучшие новые функциональные программирования книги BookAuthority Действительно
Наш естественный способ борьбы с сложностью состоит в том, чтобы сломать его на более мелкие кусочки, а затем снова положить все обратно.
Это два шага процесса:
- разложить проблему на меньшие части
- Составьте небольшие детали, чтобы решить проблему
Мы разлагаемся в меньших частях, потому что их легче понимать и реализовать. Меньшие части могут быть разработаны параллельно.
Процесс разложения – это присвоение обязанностей и имена. Это позволяет легко говорить и разуматься. Как только мы определим ответственность, мы можем повторно использовать это.
Композиция состоит в том, чтобы объединить небольшие части вместе и устанавливать отношения между ними. Мы решаем, как эти кусочки общаются, порядок, в котором они выполняются, и как данные течет между ними.
Мы обнаруживаем, что система трудно понять, даже если она разделена в меньших частях, если существует большое количество отношений между этими частями. Чтобы проще понять систему, нам нужно минимизировать количество возможных соединений между его частями.
Обзор объекта
Объекты – это больше, чем состояние и поведение, работающее вместе. Объекты – это вещи с обязанностями.
Разлагаться
В Как создать трехслойное приложение с React Я принимаю заявку на списку дел и разделил обязанности между следующими объектами:
ТододатаСервис: Отвечает за связь с сервером ToDo APIUserdataService: Отвечает за связь с пользователем сервера API.Тодостор: магазин доменов для управления до DOS. Это единственный источник правды в отношении дос.Ушнее: хранилище домена для управления пользователями.Тодолистконтейнер: компонент корневого контейнера, отображающий список до DOS.
Как вы можете видеть, когда разлагаются, я назначаю обязанности и дадите имена.
Составить
Далее я составляю их вместе в одной функции. Это место, где созданы все объекты, и введены зависимости. Это называется композицией корня.
Откройте для себя функциональный JavaScript был назван одним из Лучшие новые функциональные программирования книги BookAuthority Действительно
Для получения дополнительной информации о применении методов функциональных программиров в реакции посмотрите на Функциональный реагировать Отказ
Учить Функциональный реагировать в проекте, основанном на проекте, с Функциональная архитектура с реагированием и redux Отказ
Следуйте в Twitter
Оригинал: “https://www.freecodecamp.org/news/how-to-make-complex-problems-easier-by-decomposing-and-composing-be57ce230c49/”