Skip to main content

7 docs tagged with "Port"

View all tags

Aggregate Query Service

The IAggregateQueryService port defines a query interface for reading aggregates and their domain events. It has two primary uses:

Introduction

DugongJS is built on the ports-and-adapters architecture, also known as the hexagonal architecture. This design pattern promotes a clean separation between the core business logic and the surrounding infrastructure.

Message Consumer

The IMessageConsumer port defines how DugongJS receives domain events as messages from external systems via a message broker. It is part of the asynchronous integration mechanism that supports event-driven microservice communication.

Message Mappers

DugongJS defines two message mapper ports that must be implemented when producing and consuming messages containing domain events:

Message Producer

The IMessageProducer port defines how domain events are published from DugongJS as messages to external systems through a message broker.

Repositories

DugongJS defines three repository ports that must be implemented to support persistence and event sourcing:

Transaction Manager

The ITransactionManager port provides a way to coordinate persistence operations across multiple repositories in a transactional context. This ensures that domain events, snapshots, and metadata changes are committed atomically.