Mobile Entity (Flutter)
Overview
Criar entidades de domínio em Dart puro — sem dependências de Flutter, Riverpod ou Dio. Aplicar o padrão sealed class Result<T> para retornos sem exceções.
Guidelines
- Entidades são Dart puro — sem
import 'package:flutter/...'. - Usar
sealed class Result<T>comSuccess<T>eFailure<T>. - Construtor privado + factory
create()retornandoResult<Entity>. - Validações no
create()retornamFailureem vez dethrow. - Igualdade por valor (implementar
==ehashCodepor id ou todos os campos). - Failures específicos do BC como sealed class separada.
Workflow
- Definir os campos da entidade e suas validações.
- Criar
sealed class <Bc>Failurecom variantes (NotFound, DuplicateEmail, InvalidData, etc.). - Criar entidade com construtor privado e factory
create()→Result<Entity, <Bc>Failure>. - Implementar
==ehashCode. - Criar em
features/<bc>/domain/entities/<nome>.dart.
References
- Consultar references/flutter-entity-pattern.md para código completo.
- Consultar ../skills-standards.md para convenções globais.
Global Standards
- Consultar ../skills-standards.md para padrões globais de nomenclatura e convenções gerais entre skills.