Анализ
В этой статье:
Мы моделируем реакцию на выбор варианта без пользовательского интерфейса (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
событие.
Это полностью отделяет всех потребителей результата от этого действия.