Working with domain models

Mateu is designed to work with DDD and hexagonal architectures.

Separation

  • Domain → business rules
  • Application → use cases
  • Mateu → UI layer

UI → Use case → Domain → Repository

ViewModel vs Domain

  • ViewModel → UI representation
  • Domain → business logic

They are not the same.

Mapping

You usually map:

  • DTO → ViewModel
  • ViewModel → Command

Mental model

Mateu sits on top of your backend.

It does not replace it.