Анализ

В этой статье:



Мы моделируем реакцию на выбор варианта без пользовательского интерфейса (Angular, React, Vue и т. Д.).

Мы используем:



И только Машинопись.

Резюме

  • Получаем простой вид всех событий приложения
  • Все действия, которые запускают события приложения
  • Возможность легко разделять и связывать действия
  • Возможность создавать события приложений, которые разделяют различные этапы бизнес-логики и процессов приложения.
  • Функция может завершить определенный шаг, выдать событие, а другая функция может ответить на это событие. Эти события не связаны с пользовательским интерфейсом.

Все события приложения могут запускаться вне любой инфраструктуры пользовательского интерфейса.

Это улучшает тестирование и позволяет большей части кода приложения свободно перемещаться от одной платформы к другой.

После того, как все события приложения были смоделированы и протестированы, пользовательский интерфейс приложения может быть связан с смоделированными событиями, и приложение будет завершено.

Связанные концепции



Бонус

Вот фрагмент кода, который показывает реализуемое действие, которое запускается parameterEntryCompleted$ наблюдаемым событием:

/**
 * Emit the optimization parameters when
 * they have been validated. 
 */
emitOptimizationParameters() {
    this.state.emitParameterEntryCompleted$.
    subscribe(()=>{
       const result:IOptimizationResult = 
             this.os.performOptimization()})
       this.state.put(OPTIMIZATION_RESULT_READY, result) 
}

После завершения расчетов оптимизации государственная служба генерирует OPTIMIZATION_RESULT_READY событие.

Это полностью отделяет всех потребителей результата от этого действия.

Все сообщения в блоге Slice State Manager