Mobile Repository (Flutter)
Overview
Criar abstract class IRepository (domínio) e class RepositoryImpl (data layer) que delega para um RemoteDataSource usando Dio. Todos os métodos retornam Future<Result<T>>.
Guidelines
abstract class I<Bc>Repositoryemdomain/repositories/— Dart puro.class <Bc>RepositoryImplemdata/repositories/— implementa a interface.abstract class I<Bc>RemoteDataSource+<Bc>RemoteDataSourceImplemdata/datasources/.<Bc>Modelemdata/models/— DTO serializable (json_serializable/freezed).- Toda exceção de rede capturada →
Failure.
Workflow
- Criar interface
I<Bc>Repositorycom métodos que retornamFuture<Result<T>>. - Criar
I<Bc>RemoteDataSourcecom métodos que retornamFuture<Model>(pode throw). - Criar
<Bc>RemoteDataSourceImplcom Dio (pode throw DioException). - Criar
<Bc>RepositoryImplque chama datasource e captura exceções →Failure. - Criar provider Riverpod para o repositório.
References
- Consultar references/flutter-repository-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.