Redux - это библиотека, которая реализует архитектуру, вдохновленную поиском событий.

Библиотека Redux никогда не была вдохновлена ​​Event Sourcing, потому что автор уже сказал мне, что он не знал Event Sourcing, когда создавал ее.

Он был вдохновлен чем-то (потоком), которое могло или не могло быть напрямую основано на Event Sourcing. Учитывая то, как обстоят дела, есть свидетельства того, что ни одно из них не было основано на этом (возможно, просто вдохновлено, как вы говорите, что ничего не значит).

Иногда эти вещи живут своей собственной жизнью, превосходящей то, что предполагал автор. Именно это и произошло здесь.

Как вы думаете, это хорошо, если абстрагироваться от полезной информации в библиотеках вместо того, чтобы стоять на плечах гигантов и строить на уже известных концепциях таким образом, что библиотеки становятся ненужными?

Могу поспорить, что все это просто вернется к Event Sourcing, за отсутствием лучшего определения.

… Но с особенностями функционального программирования

Что именно делает его лучше по сравнению с поиском событий? Вы хотите сказать, что Event Sourcing не может быть функциональным? Он использует команды и события, которые принципиально функциональны, но также могут быть выражены в других парадигмах. Хорошая вещь в разговоре на уровне архитектуры состоит в том, что многие решения не обязательно должны быть тесно связаны с парадигмой, что само по себе является преимуществом.

… Но он реализует, по сути, тот же шаблон с небольшой адаптацией: хранилище - это наблюдаемое.

По сравнению с Event Sourcing, насколько я понимаю, хранилище Redux - это что-то среднее между хранилищем событий или проекциями просмотра, а редукторы - это саги. Поскольку вы больше находитесь в контексте ngrx / store, какова реальная польза от использования хранилища в качестве наблюдаемого в контексте улучшения архитектуры Redux?

Использование наблюдаемых кажется просто обходным путем вместо простого воспроизведения хранилища событий для построения проекций представления (каждая операция отделяется друг от друга).

Есть связанное с этим обсуждение в репозитории redux, которое может быть интересно.

Возможно, Дэн Абрамов не намеревался вдохновлять нас на изменение нашего взгляда на архитектуру управления состоянием, когда он создавал свою библиотеку, но именно это он и сделал, хотя многие из нас ранее написали множество реализаций источников событий. До Redux я никогда не использовал редукторы.

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

Вы можете подписаться или проверить fagnerbrack.com, я постоянно пишу о таких основах программного обеспечения.