Makrosites

Suas ideias em realidade digital!

Clean Architecture no Android: estrutura profissional sem framework pesado

Clean Architecture no Android: estrutura profissional sem framework pesado

O que é Clean Architecture?

Clean Architecture é um modelo de organização de código onde cada camada tem responsabilidade bem definida.

O objetivo é:


Estrutura recomendada no Android


com.makrosites.app
 ├── domain
 │   ├── model
 │   ├── repository
 │   └── usecase
 ├── data
 │   ├── api
 │   ├── repository
 │   └── datasource
 ├── presentation
 │   ├── ui
 │   └── viewmodel

Camadas explicadas

1️⃣ Domain

Contém regras de negócio puras. Não deve depender de Android.

data class User(
    val id: Int,
    val name: String
)

interface UserRepository {
    suspend fun getUsers(): List<User>
}

2️⃣ Data

Implementa o acesso a API ou banco.

class UserRepositoryImpl(
    private val api: ApiService
) : UserRepository {

    override suspend fun getUsers(): List<User> {
        return api.getUsers()
    }
}

3️⃣ UseCase

Responsável por executar a regra específica.

class GetUsersUseCase(
    private val repository: UserRepository
) {
    suspend operator fun invoke(): List<User> {
        return repository.getUsers()
    }
}

4️⃣ Presentation (ViewModel)

class UserViewModel(
    private val getUsersUseCase: GetUsersUseCase
) : ViewModel() {

    private val _users = MutableLiveData<List<User>>()
    val users: LiveData<List<User>> = _users

    fun loadUsers() {
        viewModelScope.launch {
            _users.value = getUsersUseCase()
        }
    }
}

Benefícios reais


Comparação com MVVM simples

MVVM organiza a camada de apresentação. Clean Architecture organiza o projeto inteiro.

Você pode usar MVVM dentro da Clean Architecture.


Integração com Retrofit + JWT

Essa estrutura funciona perfeitamente com:


Quando usar Clean Architecture?