Até onde sei, não há teoria matemática que modele módulos e objetos. Nesta poderia existir teoremas que demonstrassem que determinada estratégia é a melhor, ao menos em algum sentido.
O que sei que existe é o senso comum e a experiência (de outros e minha) em desenvolvimento de programas que aponta para algo como: métodos ou objetos que "interagem" fortemente "ficam bem" no mesmo objeto ou módulo e os que "interagem" fracamente podem ficar em objetos ou módulos separados.
A engenharia de software tem palavras de referência para isso [SCHACH,2006]:
coesão: o grau de interação dentro de um módulo;
acoplamento: o grau de interação entre dois módulos;
Ainda segundo essa referência, a melhor forma de coesão é a informacional, em que um módulo reúne métodos que operam sobre uma mesma estrutura de dados.
Maiores detalhes na própria fonte.
Na minha leitura, nesse capítulo 7, são construídos argumentos para mostrar que aplicar orientação a objetos é útil para facilitar e baratear as etapas do ciclo de desenvolvimento de um projeto de software e que isso é feito maximizando a coesão e minimizando o acoplamento. Curiosamente a melhor forma de coesão coincide com a definição de objeto.
Se existir solução definitiva, dificilmente será esta (seria como acertar na loteria), mas concordo (por experiência) que essa otimização é desejável, que orientação a objetos bem aplicada resulta em bons projetos de software.
Este é o blog de relacionamento com alunos de Fábio Nakano.
Desejo testar se esta mídia facilita a comunicação e aprendizado de conteúdo.
Gostaria que vocès dessem notas mais altas para posts que ajudaram mais a entender o assunto (e não por outro critério, por exemplo o melhor escrito ou o mais "bonito")
fabionakano at usp dot br
Prédio A1, segundo andar - Sala 204E
Caso precise do mapa do Campus:http://each.uspnet.usp.br/site/mapa.php
Siga-me por email preenchendo a caixa abaixo.
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário