Comum · Saberes
State
State é um padrão de projeto de software usado quando o comportamento de um objeto muda, dependendo do seu estado.
Na Wikipédia
State é um padrão de projeto de software usado quando o comportamento de um objeto muda, dependendo do seu estado. Em certas ocasiões, quando o contexto em que está a desenvolver requer um objeto que possua comportamentos diferentes dependendo de qual estado se encontra, é difícil manejar a mudança de comportamento e os estados desse objeto, tudo dentro do mesmo bloco de código. O padrão State propõe uma solução para esta complicação, criando basicamente, um objeto para cada estado possível do objeto que o chama. Permite que um objeto altere seu comportamento de acordo com o estado interno que se encontra em um momento dado. O padrão State é motivado por aqueles objetos que, em seu estado atual, varia o seu comportamento devido as diferentes mensagens que possa receber. Como exemplo, tomamos uma classe Livro, um objeto desta classe terá respostas diferentes, dependendo do seu estado(Disponível ou Emprestado). Por exemplo invocando o método reservar de um objeto da classe Livro seu comportamento será diferente, se o Livro está no estado Disponível ou no estado Emprestado. O seguinte diagrama é uma representação da estrutura e relações das classes que servem de modelo para os objetos. No seguinte diagrama representamos os possíveis estados ou situações em que um Livro pode se encontrar no decorrer da execução em nosso sistema. Há uma extrema complexidade no código quando tentamos gerenciar comportamentos diferentes, dependendo de um número de estados diferentes.
Texto: Wikipédia, CC BY-SA 4.0. · Imagem: State_Design_Pattern_UML_Class_Diagram.png: JoaoTrindade (ta... (CC BY-SA 3.0) ·