Skip to content

Pulsar glossary

This is the canonical vocabulary for Start and Architecture. Search recognizes common aliases for UseCase, DTO, VO/value object, CLI/command, and integration/Adapter.

Layers and types

TermCanonical definition
ServiceA delivery boundary scoped to a consumer audience, not a microservice or deployment unit.
ModuleA feature slice within a Service.
ControllerA thin HTTP inbound adapter that calls exactly one UseCase.
RequestAn HTTP validation and authorization type.
ResourceHTTP response shaping for Models, DTOs, and Value Objects.
UseCase (Use Case)An application workflow that owns transaction boundaries and emits domain events.
OperationA reusable workflow fragment called only by UseCases; it owns no transaction and emits no event.
JobAn idempotent queued inbound adapter that calls one UseCase.
Command (CLI)An authorized CLI or scheduler inbound adapter that calls one UseCase.
DomainA Laravel-aware business capability shared across Services and independent of delivery concerns.
ContractA Domain-owned port for a stable capability or outbound dependency.
ModelAn Eloquent domain entity.
ActionAn atomic business operation, usually over one aggregate.
DTO (data transfer object)A data transfer object.
PolicyModel-aware authorization with default-deny methods.
EventAn immutable, versioned domain fact emitted by a UseCase.
ListenerA Domain reaction to an Event.
NotificationA Domain outbound notification carrying DTO or Value Object data.
MailableA Domain outbound mail representation carrying DTO or Value Object data.
EnumDomain state represented by a closed set.
Value Object (VO)An immutable, validated domain primitive.
Domain ExceptionA business-rule violation generated under a Domain Exceptions directory.
QueryA read-only Domain query.
Adapter (integration)An Infrastructure implementation of a Domain Contract that translates vendor or framework failures at the boundary.

FAQ

Is a Service a microservice? No. It is an audience boundary. Is the Domain framework-independent? No. It is independent of delivery concerns, not Laravel.