21/2/2008
Esta postagem é referente a 5ª aula do dia 18/2/2008
Introdução ao GRASP - 1ª Parte:
Estou de volta !!!!!
Mais uma semana de aula , e como aconteceu na semana passada vou tentar passar um pouco de meu entendimento sobre o que foi passado na 5ª aula.
Vamos começar uma introdução sobre o GRASP.
Pêra aí , o que é GRASP ????
Poxa vida!!! ,eu nem começo a explicação e já vou falando grego !!!
Calma !, GRASP nada mais é do que um conjunto de padrões que tem por objetivo atribuir responsabilidades aos objetos.
Mas que responsabilidades ???
São as obrigações dos objetos em relação ao seu comportamento perante a outros objetos.
Podem ser de dois tipos:
Obrigação em conhecer: é a obrigação que um objeto tem em conhecer os objetos com o qual se relaciona assim como os seus comportamentos.
Bom , vou me arriscar e dar um exemplo meu mesmo , me corrijam se eu tiver errado.
Ex: “A classe compra é responsável por conhecer o seu total”.
Obrigação em fazer: Esse é bem mais fácil , é a parte criativa e operacional do processo, nela se cria um objeto , ou pode-se encadear uma ação em outros objetos
Segue abaixo mais um exemplo!!!
Ex: Um empréstimo é responsável por criar TiposDeEmprestimo”.
Mais uma semana de aula , e como aconteceu na semana passada vou tentar passar um pouco de meu entendimento sobre o que foi passado na 5ª aula.
Vamos começar uma introdução sobre o GRASP.
Pêra aí , o que é GRASP ????
Poxa vida!!! ,eu nem começo a explicação e já vou falando grego !!!
Calma !, GRASP nada mais é do que um conjunto de padrões que tem por objetivo atribuir responsabilidades aos objetos.
Mas que responsabilidades ???
São as obrigações dos objetos em relação ao seu comportamento perante a outros objetos.
Podem ser de dois tipos:
Obrigação em conhecer: é a obrigação que um objeto tem em conhecer os objetos com o qual se relaciona assim como os seus comportamentos.
Bom , vou me arriscar e dar um exemplo meu mesmo , me corrijam se eu tiver errado.
Ex: “A classe compra é responsável por conhecer o seu total”.
Obrigação em fazer: Esse é bem mais fácil , é a parte criativa e operacional do processo, nela se cria um objeto , ou pode-se encadear uma ação em outros objetos
Segue abaixo mais um exemplo!!!
Ex: Um empréstimo é responsável por criar TiposDeEmprestimo”.
Pude concluir que essas responsábilidades as quais o assunto se refere são obrigações de um tipo ou de uma classe e que podem possuir diferentes tipos de granularidades.
São duas
Granularidade Baixa - Nela uma responsabilidade pode envolver um único método.
Ex: Criar uma linha de detalhe.
Granularidade Alta - Nela uma responsabilidade pode envolver várias classes e métodos.
Ex: Responsabilidade de fornecer um acesso a um BD.
OBS: é importante salientar algo , é muito importante não confundir responsabilidade com método , pois são duas coisas diferentes , os métodos são usados apenas para implementar as responsabilidades.
Falando em métodos , existem aqueles que agem por sí sós ou ajudam outros métodos.
Exemplo: A classe venda pode definir um ou mais métodos para conhecer seu total. Para conseguir esse objetivo a Venda pode enviar uma mensagem obterSubTotal para cada objeto LinhaDeItemDeVenda.
Fonte: Material do Professor Bosco
Fonte: Material do Professor Bosco
Responsabilidades e Diagramas de iteração
Essa parte não foi tão difícil de entender , se eu estiver certo os diagramas de iteração nos orientam quanto as atribuições das responsabilidades aos objetos.
O diagram acima mostra que os objetos da classe venda são responsáveis por criar linhas de detalhe de venda e que devem colaborar com os objetos da classe LinhaDetalheVenda.
Padrões
Padrões descrevem um problema que ocorre frequentemente , então eles descrevem uma forma de solução padrão , solução essa que poderá ser utilizada em vários tipos diferentes de problemas , mas veja que o que se reutiliza são apenas as classes e as suas colaborações.
Curiosidade: Os Padrões GRASP são de Larman , que se não me engano é o autor do livro que adotaremos neste semestre , "é pelo jeito o Larman não é fraco não".
Bom já falei muito dos padrões , mas acho melhor eu parar de enrolar um pouco e começar falando do primeiro padrão que é:
Especialista na informação:
Nada mais é do que a classe que possui a informação necessária para safizfazer a necessidade imposta.
Geralmente é procurada no modelo de projetos.
Bom , mas uma vez espero ter passado com clareza minhas conclusões
Semana que vêm continuarei com a segunda parte sobre este importante assunto
um bom fds a todos !!!!!!
abraço !!!!
Nenhum comentário:
Postar um comentário