
Содержание статьи
Откройте для себя функциональный JavaScript был назван одним из лучшие новые книги по функциональному программированию от BookAuthority!
Я предлагаю принять во внимание эти идеи для создания надежных объектов в JavaScript:
- Разделите объекты на две части: объекты данных и объекты поведения
- Сделайте объекты данных неизменными
- Открыть поведение и скрыть данные в объектах поведения
- Создайте объекты поведения, которые можно проверить
Данные против объектов поведения
По сути, в приложении есть два типа объектов:
- Объекты данных раскрыть данные
- Объекты поведения раскрыть поведение и скрыть данные
Объекты данных
Объекты данных предоставляют данные. Они используются для структуризации и передачи данных внутри программы.
Рассмотрим случай программы со списком дел.
Вот как может выглядеть объект данных дел, полученный с сервера:
{ id: 1, title: "This is a title", userId: 10, completed: false }
Вот как может выглядеть объект данных, используемый для отображения информации в представлении:
{ id: 1, title: "This is a title", userName: "Cristi", completed: false };
Как видим, оба объекта содержат только данные. Между ними есть небольшая разница: объект данных для представления имеет userName
вместо userId
.
Объекты данных – это простые объекты, обычно построенные из объектных литералов.
Объекты поведения
Объекты поведения открывают способы и скрывают данные.
Объекты поведения действуют на объекты данных. Они могут принимать объекты данных в качестве входных данных или возвращать объекты данных.
Я возьмусь за дело TodoStore
объект. Объект должен хранить и управлять списком дел. Он осуществляет синхронизацию с сервером с помощью dataService
объект.
Прочтите Функциональная архитектура с React и Redux и узнайте, как создавать приложения в функциональном стиле.
Откройте для себя функциональный JavaScript был назван одним из лучшие новые книги по функциональному программированию от BookAuthority!
Чтобы узнать больше о применении методов функционального программирования в React, посмотрите Функциональный React.
Вы можете найти меня на Medium и Twitter.