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
Markdown
# 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