Alta Coesão
Verificar se uma classe esta realmente dentro de seu foco, é verificarmos a coesão dela. Para sabermos se uma classe esta coesa, devemos analisar o quão focada ou relacionada estão relacionados os módulos de uma classe. Quando uma classe esta coesa, falamos que tem um a alta coesão, quando não, falamos que esta com baixa coesão, dificultando o entendimento, o reuso e sua manutenção entre outros pontos.
Tipos de Coesão:
*Concidental
*Lógica
*Temporal
*Procedural
*De Comunicação
*Seqüencial
*Funcional
Concidental: estão agrupadas por mera coincidência, não existe nenhuma coesão entre os módulos.
Lógica: Semelhante ao acoplamento de controle, quando existe um controle entre os módulos.
Temporal: os módulos estão coesos, apenas, por algum evento de tempo.
Procedural: faz com que os módulos que estão acoplados por procedimentos, porém os procedimentos nem sempre estão coesos.
De Comunicação: Quando dois ou mais métodos manipulam o mesmo dado, porém não existe significado entre eles, e eles se encontram juntos.
Seqüencial: Quando vários métodos ocorrem seqüencialmente, ou seja, quando a entrada de um é a saída do outro.
Funcional: Quando todos os métodos estão coesos e trabalhando em busca do mesmo objetivo.
Controller (Controlador)
Controlador é um objeto responsável pelo tratamento de eventos do sistema, ele quem define métodos para as operações.
Dentro do MCV (Model, Controller, View) que é a programação em três camadas, ele se encontra na camada central, fazendo a ponte entre as operações de sistema e os métodos que são as classes.
Vivendo e Aprendendo
quinta-feira, 27 de março de 2008
quinta-feira, 20 de março de 2008
Aula 13 e 14 de Projetos Orientado a Objetos
- Tipos de Acoplamento
Dentro da ordem de acoplamento temos, Acoplamento de dados, Acoplamento de controle, acoplamento de dados globais e acoplamento de dados internos. Vamos estar falando um pouco sobre cada um desses nesta postagem.
O acoplamento de dados que na listagem é considerado o melhor, consiste em existir duas classes onde uma passa um objeto como parâmetro para a outra, assim havendo uma mudança no objeto passado por parâmetro, automaticamente ira influenciar nas outras classes.
Acoplamento de controle é quando uma classe passa um objeto de controle para a outra, ou seja, passar flags como parâmetro para definir e controlar o que a outra classe ira realizar.
Acoplamento de dados globais, a forma mais conhecida disso são as variáveis globais, pois é onde vários objetos compartilham o mesmo dado.
Acoplamento de dados internos é quando um determinado objeto de uma classe altera dados locais de uma outra, isso geralmente ocorre quando usado métodos públicos e protegidos, é aconselhado utilizar métodos privados onde existam outra para entrada e saída de dados desse método.
Dentro da ordem de acoplamento temos, Acoplamento de dados, Acoplamento de controle, acoplamento de dados globais e acoplamento de dados internos. Vamos estar falando um pouco sobre cada um desses nesta postagem.
O acoplamento de dados que na listagem é considerado o melhor, consiste em existir duas classes onde uma passa um objeto como parâmetro para a outra, assim havendo uma mudança no objeto passado por parâmetro, automaticamente ira influenciar nas outras classes.
Acoplamento de controle é quando uma classe passa um objeto de controle para a outra, ou seja, passar flags como parâmetro para definir e controlar o que a outra classe ira realizar.
Acoplamento de dados globais, a forma mais conhecida disso são as variáveis globais, pois é onde vários objetos compartilham o mesmo dado.
Acoplamento de dados internos é quando um determinado objeto de uma classe altera dados locais de uma outra, isso geralmente ocorre quando usado métodos públicos e protegidos, é aconselhado utilizar métodos privados onde existam outra para entrada e saída de dados desse método.
quinta-feira, 13 de março de 2008
Aula 9,10,11 e 12 de Projetos Orientado a Objetos
- Baixo Acoplamento
Para entendermos melhor Acoplamento vamos descrever seu significado. Acoplamento é a forma de se medir o quanto uma classe esta ligada a outra, ou melhor dizendo, o quanto uma determinada classe depende de uma outra. Com este conceito nos faz lembrar de Herança, e é exatamente isso, a herança é um grande exemplo de acoplamento forte. Agora surge então um novo questionamento, “Qual a diferença de acoplamento Fraco(Baixo) e Acoplamento Forte(Alto)?”, a diferença é que o baixo não tem muitas dependências, ou seja, não depende de muitas outras classes e o acoplamento forte é o contrario disso.
Uma situação que nos vale a ressaltar é, a questão de forte acoplamento. Uma classe forte acoplada implica em algumas situações desfavoráveis, que são: difícil entendimento quando ela sozinha, difícil reutilização, ou seja, limita a dinâmica do código e uma outra situação é que fica sensível às mudanças ocorridas nas classes de que ela depende, assim qualquer mudança realizada nas outras classes ira influenciar.
Uma forma de trabalhar mais dinamicamente e reaproveitando mais as classes, é minimizar ao Maximo o acoplamento, ou seja, quanto mais baixo acoplada estiver suas classes, mais irão ser reaproveitadas.
Podemos citar ainda alguns tipos de acoplamento em ordem do “melhor” para o “pior”: Acoplamento de dados à Acoplamento de Controle à Acoplamento de Dados Globais à Acoplamento de Dados Internos.
Para entendermos melhor Acoplamento vamos descrever seu significado. Acoplamento é a forma de se medir o quanto uma classe esta ligada a outra, ou melhor dizendo, o quanto uma determinada classe depende de uma outra. Com este conceito nos faz lembrar de Herança, e é exatamente isso, a herança é um grande exemplo de acoplamento forte. Agora surge então um novo questionamento, “Qual a diferença de acoplamento Fraco(Baixo) e Acoplamento Forte(Alto)?”, a diferença é que o baixo não tem muitas dependências, ou seja, não depende de muitas outras classes e o acoplamento forte é o contrario disso.
Uma situação que nos vale a ressaltar é, a questão de forte acoplamento. Uma classe forte acoplada implica em algumas situações desfavoráveis, que são: difícil entendimento quando ela sozinha, difícil reutilização, ou seja, limita a dinâmica do código e uma outra situação é que fica sensível às mudanças ocorridas nas classes de que ela depende, assim qualquer mudança realizada nas outras classes ira influenciar.
Uma forma de trabalhar mais dinamicamente e reaproveitando mais as classes, é minimizar ao Maximo o acoplamento, ou seja, quanto mais baixo acoplada estiver suas classes, mais irão ser reaproveitadas.
Podemos citar ainda alguns tipos de acoplamento em ordem do “melhor” para o “pior”: Acoplamento de dados à Acoplamento de Controle à Acoplamento de Dados Globais à Acoplamento de Dados Internos.
Assinar:
Postagens (Atom)