UNPKG

react-native-healthkit-bridge

Version:

A comprehensive React Native bridge for Apple HealthKit with TypeScript support, advanced authorization, and flexible data queries

60 lines (48 loc) 2.36 kB
# Clean Architecture - React Native HealthKit Bridge ## 🏗️ Estrutura Proposta ``` src/ ├── domain/ # Camada de Domínio (Entidades e Regras de Negócio) │ ├── entities/ # Entidades do domínio │ ├── usecases/ # Casos de uso │ ├── repositories/ # Interfaces dos repositórios │ └── value-objects/ # Objetos de valor ├── data/ # Camada de Dados (Implementação) │ ├── repositories/ # Implementação dos repositórios │ ├── datasources/ # Fontes de dados (Native, Mock) │ └── mappers/ # Conversores de dados ├── presentation/ # Camada de Apresentação │ ├── hooks/ # React Hooks │ ├── providers/ # Context Providers │ └── adapters/ # Adaptadores para React Native └── infrastructure/ # Camada de Infraestrutura ├── config/ # Configurações ├── utils/ # Utilitários └── errors/ # Tratamento de erros ``` ## 🎯 Princípios Aplicados ### 1. **Dependency Inversion Principle** - Interfaces no domínio, implementações na camada de dados - Dependências apontam para abstrações, não concretizações ### 2. **Single Responsibility Principle** - Cada classe tem uma única responsabilidade - Separação clara entre validação, negócio e infraestrutura ### 3. **Open/Closed Principle** - Extensível para novos tipos de dados sem modificar código existente - Novos providers podem ser adicionados facilmente ### 4. **Interface Segregation Principle** - Interfaces pequenas e específicas - Clientes não dependem de métodos que não usam ### 5. **Dependency Injection** - Injeção de dependências via construtor - Facilita testes e reduz acoplamento ## 🔄 Fluxo de Dados ``` React Component → Hook → UseCase → Repository → DataSource → Native Module ``` ## 📋 Benefícios 1. **Testabilidade** - Fácil mock de dependências 2. **Manutenibilidade** - Código organizado e previsível 3. **Escalabilidade** - Fácil adição de novos recursos 4. **Flexibilidade** - Troca de implementações sem afetar domínio 5. **Clareza** - Responsabilidades bem definidas