Mostrando postagens com marcador Coesão. Mostrar todas as postagens
Mostrando postagens com marcador Coesão. Mostrar todas as postagens

terça-feira, 25 de outubro de 2011

Onde cada Managed Bean entra na arquitetura MVC

Onde cada Managed Bean entra na arquitetura MVC (Model-View-Controller)

[1] mostra as diferenças entre os MBs:
  • Model Managed Bean
  • Backing Managed Bean
  • Controller Managed Bean
  • Support Managed Bean
  • Utility Managed Bean

É muito importante ler esse link abaixo, entendendo o o baixo acoplamento e a alta coesão entre os MBs e a utilização real do MVC e seus benefícios.

[1] http://blog.icefaces.org/blojsom/blog/default/2009/04/23/Making-distinctions-between-different-kinds-of-JSF-managed-beans/

E aproveitando...
http://www.rponte.com.br/2009/08/27/managed-beans-nao-complique-simplifique/

sexta-feira, 21 de outubro de 2011

Baixo Acoplamento e Alta Coesão - Regras que valem ouro!

Use e abuse dos melhores tipos de acoplamento e coesão!

Acoplamento
  • Inter-dependência entre módulos
  • Tipos (do melhor ao pior)
    • Mensagem: interface pública para troca de mensagens
    • Dados: módulos compartilham dados via parâmetros
    • Selo: dados estruturados subutilizados
    • Controle: módulo envia comandos para o outro
    • Externo: compartilham um formato de dados externo, protocolo de comunicação ou interface de dispositivo
    • Comum: dados globais
    • Conteúdo: um módulo depende da funcionalidade interna do outro, um muda o outro tem que mudar também
Coesão
  • Princípio de ouro para ser mantido no projeto
  • Tipos (do melhor ao pior)
    • Funcional: única tarefa
    • Sequencial: saída de um módulo é entrada em outro módulo
    • De comunicação: operações unidas sobre os dados
    • Procedural: procedimentos de algoritmos
    • Temporal: dependência de tempo
    • Lógico: depende de variáveis de condições lógicas
    • Coincidente/acidental: nada 
Referências
http://c2.com/cgi/wiki?CouplingAndCohesion