Application Service
Architecture 🟡 MidDefinition
Orchestre les use cases de l'application : coordonne le domaine, les repositories et les services externes. Ne contient pas de logique metier.
Analogie
Un chef de projet : il coordonne les equipes mais ne code pas lui-meme.
Exemple de code
class PlaceOrderUseCase {
async execute(dto) {
const order = Order.create(dto);
await this.repo.save(order);
await this.eventBus.publish(order.events);
}
}
Cas d'usage
Orchestrer un use case complet : validation, persistance, publication d'events.
Anti-pattern
Mettre de la logique metier dans le service applicatif au lieu du domaine.