💻
Software Engineering Notes
  • Introduction
  • Event-Sourcing
  • CQS and CQRS
  • Domain-Driven Design
    • Overview
    • Business Domain
    • Subdomain
    • Bounded Context
      • Interaction Between Contexts
    • Layers
      • Domain Layer
      • Application Layer
      • Infrastructure Layer
  • Database
    • In-Memory (Redis)
    • Search Engine (Elasticsearch)
    • Column-Oriented (Cassandra)
    • Document-Oriented (MongoDB)
  • Messaging
    • Brokers
      • Kafka
  • Race Condition
  • Concurrency vs Parallelism
  • API Architectural Styles
    • gRPC
  • Language & Framework Specific Notes
    • Go (Golang)
Powered by GitBook
On this page
  • Application Service
  • Data Transfer Object (DTO)
  1. Domain-Driven Design
  2. Layers

Application Layer

Application Service

  • Defines the use case for the system

  • Receives request from infra layer and coordinate the use of objects from domain layer and other layer

Note

  • Application service operations can be represented by method (inside object) or function, using function is great if you're not planning to make the service stateful

Data Transfer Object (DTO)

  • Used to transfer data between application layer and infrastructure layer

  • Should only contain data

  • Should not contain behaviour

  • Can be mutable or immutable, make it mutable only if it needs to be modified on transfer

PreviousDomain LayerNextInfrastructure Layer

Last updated 1 year ago