Sobes.tech
Junior — Middle

A tela principal de uma aplicação Android deve seguir o princípio da responsabilidade única?

sobes.tech IA

Resposta da IA

O Princípio da Responsabilidade Única (Single Responsibility Principle, SRP) não é uma exigência obrigatória para a tela principal de uma aplicação Android, mas segui-lo melhora significativamente a qualidade do código e facilita a manutenção. A tela principal frequentemente contém muita lógica e componentes de UI, por isso a separação de responsabilidades ajuda a tornar o código mais modular e testável.

Se a tela principal viola o SRP, ela torna-se volumosa e difícil de entender e modificar. Recomenda-se transferir a lógica de negócio para o ViewModel ou outros componentes, e a lógica de UI para classes ou fragmentos separados.

Exemplo de separação de responsabilidades:

class MainActivity : AppCompatActivity() {
    private val viewModel: MainViewModel by viewModels()

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        // lógica de UI
        viewModel.data.observe(this) { data ->
            // atualização da UI
        }
    }
}

class MainViewModel : ViewModel() {
    val data = MutableLiveData<List<String>>()
    // lógica de negócio
}

Assim, o SRP é uma recomendação para melhorar a arquitetura, não uma exigência rígida.