Saltar al contenido principal

Capa de dominio

La Capa de Dominio se encarga de manejar la lógica de negocio de la aplicación. Esta capa es el núcleo del proyecto y contiene todas las clases y funciones que representan la lógica de negocio de la aplicación.

Componentes clave​

  • Lógica de negocio (casos de uso).
  • Entidades y enumeradores de dominio.
  • Validación de datos.
  • Interfaces de repositorios.

Estructura del proyecto​

La estructura del proyecto de la Capa de Dominio se encuentra en la carpeta domain del proyecto. Dentro de esta carpeta se encuentran los siguientes subdirectorios:

domain/
├── entities/
│ ├──enums/
│ │ ├── foo_enum.dart
│ │ └── bar_enum.dart
│ ├── foo.dart
│ └── bar.dart
├── repositories/
│ ├── foo_repository.dart # Interfaz de repositorio Foo
│ └── bar_repository.dart
├── use_cases/
│ ├── foo/
│ └── bar/
│ ├── get_bar.dart
│ ├── update_bar.dart
│ └── delete_bar.dart
└── validators/
├── foo_validator.dart
└── bar_validator.dart
  • entities: Son las entidades de la capa de dominio. Son las unidades básicas de la aplicación.
  • enums: Contiene los enumeradores de la capa de dominio. Se consideran también entidades.
  • repositories: Contiene las interfaces de los repositorios.
  • validators: Contiene los validadores de campos considerados parte de las reglas de negocio. Ejemplos de validadores son: Validadores de correo electrónico y contraseñas, validadores de formato de fecha, o validadores de otros campos.