Как я могу избежать использования источников событий Prooph? - PullRequest
0 голосов
/ 28 ноября 2018

Концепция Event Sourcing, на мой взгляд, заключается в том, что Event Sourcing связан с уровнем домена, который не может быть связан с уровнем инфраструктуры.поэтому я не буду использовать компонент Prooph / Event-Sourcing, и поэтому команда Prooph не будет поддерживать компонент Event-Sourcing.( эта статья отмечена)

Вопрос наступает, Aggregate, DomainEvent и т. Д. Принадлежат слою домена, они помещаются в компонент поиска событий.Хранилище событий относится к слою инфраструктуры, поэтому я могу напрямую использовать компонент prooph / event-store.Однако я обнаружил, что класс Prooph\EventSourcing\Aggregate\AggregateRepository используется в prooph/event-store-symfony-bundle, почему AggregateRepository помещается в источник событий?Я считаю, что Репозиторий к Инфраструктуре работает, пакет хранилища событий Symfony не должен больше использовать компонент поиска событий, и Репозиторий также не должен быть включен в поиск событий.

Это меня смущает.поэтому я не могу сейчас использовать prooph / event-store.

Как вы думаете?

1 Ответ

0 голосов
/ 28 ноября 2018

Репозиторий является связующим звеном между моделью домена и инфраструктурой.Он включен в компонент поиска событий, потому что хранилище событий не заботится о агрегатах и ​​их организации вообще.Хранилище событий управляет потоками событий.Только хранилище вносит это в форму.Он использует возможности потока событий четного хранилища для управления историей событий агрегатов.Следовательно, хранилище также является вашей ответственностью.Вы правы в том, что новая версия пакета Symfony больше не должна включать реализацию репозитория, а только обеспечивает prooph / event-store.Это еще не сделано.Фактически, поддержка prooph / event-sourcing поддерживается до конца 2019 года, поэтому мы не спешим.

В любом случае, я настоятельно рекомендую взглянуть на Event Machine .На данный момент он основан на Prooph / Event-Sourcing, Service-Bus и Event-Store, но уже предоставляет уровень абстракции и способ полностью отделить модель домена и другие части вашей системы от Prooph и Event Machine.Просто сделайте урок, чтобы узнать больше об этом (занимает 4-6 часов).

...