Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

stateful e stateless

Na ultima aula o professor, ele eleva o estados a qual estavam no UiState por causa de alguns bugs, nisso a activity fico bastante poluida e ai ele criou um tipo de sobrecarga da home e falou sobre dois modelo ao qual representar um compasable que recebe e outro que não recebe o estado via parametro nomeandos de: stateful e stateless.

Devo considerar o uiState e o HomeScreen que recebe um state via parametro como um stateful?

class HomeScreenUiState()

fun HomeScreen( state: HomeScreenUiState = HomeScreenUiState() )

fun HomeScreen(products: List)

3 respostas

Oi Thailan, tudo bem?

Pelo que entendi da sua dúvida, você está se questionando se o uiState e a HomeScreen que recebe um estado via parâmetro podem ser considerados como stateful.

Na programação, o conceito de stateful refere-se a componentes que possuem estado, ou seja, que armazenam e gerenciam informações que podem ser alteradas ao longo do tempo. Já os componentes stateless são aqueles que não possuem estado e são totalmente dependentes dos dados que recebem como entrada.

No caso do uiState, como ele é um objeto que armazena informações sobre o estado da tela, podemos considerá-lo como stateful. Ele é responsável por armazenar e atualizar os dados que serão exibidos na interface do usuário.

Quanto à HomeScreen que recebe um estado via parâmetro, podemos considerá-la tanto stateful quanto stateless, dependendo da forma como você a utiliza. Se você utiliza o estado passado como parâmetro apenas para exibir informações na tela, sem modificá-lo, então podemos considerar a HomeScreen como stateless. Porém, se você realiza alguma modificação no estado recebido ou se utiliza esse estado para atualizar outros componentes, então podemos considerá-la como stateful.

Lembre-se que esses conceitos podem variar dependendo do contexto e da implementação específica do seu código. O importante é entender a diferença entre stateful e stateless e utilizar o conceito que melhor se adequar às necessidades do seu projeto.

Um abraço e bons estudos.

Caso eu faça tudo em uma unica class: modifico, utilizo e passo para um composable para exibir o conteudo, qual seria a definição dele?

solução!

Oi!

Se você tem uma única classe que realiza as modificações, utiliza o estado e passa esses dados para um composable para exibir o conteúdo, podemos considerar essa classe como stateful.

O fato de você modificar o estado, utilizá-lo e passá-lo para exibição indica que essa classe está gerenciando o estado e, portanto, possui um comportamento stateful. Ela é responsável por manter e atualizar as informações que serão exibidas no composable.

No entanto, vale ressaltar que é sempre importante considerar a organização e a separação de responsabilidades em seu código. Se a lógica de modificação do estado, a utilização dos dados e a exibição do conteúdo estiverem muito acopladas em uma única classe, isso pode dificultar a manutenção e compreensão do código.

Uma prática comum é separar as responsabilidades em diferentes classes ou funções, seguindo o princípio da responsabilidade única. Dessa forma, você pode ter uma classe ou função dedicada à modificação do estado, outra para utilizá-lo e uma terceira para a exibição do conteúdo no composable. Isso ajuda a tornar o código mais modular e de fácil entendimento.

Então, se você tem uma única classe que realiza todas as operações mencionadas, ela pode ser considerada stateful. No entanto, considere também a possibilidade de separar as responsabilidades em diferentes classes ou funções para melhorar a organização e a manutenibilidade do código.

Um abraço e bons estudos.