Design Patterns para coldfusion
1. Motivação
Reutilizar soluções para problemas comuns.
Soluções extensivamente testadas.
Escalabilidade, manutenabilidade, reusabilidade
São padrões, não códigos.
Ajudam a comunicação entre desenvolvedores
SOA
A vantagem de utilizar esta arquitetura é reduzir o time-to-market e custos de desenvolvimento
Refactoring
é muito mais difícil do que escrever a aplicação correta desde o início
2. Padrões de arquitetura
MVC
Singleton
usado restritamente para instanciar um unico objeto para toda aplicacao
(applcation.cfc é um exemplo no coldfusion)
Service Object Pattern
Toda logica do negócio encapsulada em um servico
(loginService.cfc, EmailService.cfc)
Front Controller / Command
Contém os handlers para cada tipo de request
Business Delegate
Sepera camada de apresentacao com servicos
DAO / Gateway
operacoes CRUD,
Table data gateway (querys -> listas do coldfusion)
Value/Data transfer object
"beans" so para passagem de valor, nao refletem necessariamente as entidades nas tabelas
3. Frameworks
Coldbox é o maior
Mach II, Model-Glue, Coldspring
4. Exemplo de desenvolvimento
.processo
Criar um prototipo
Modelar o banco de dados com as informações necessárias para montar o site
Diagrama de classes
.design patterns
cfc com os servicos onde cada funcao tem uma factory para os objetos puxando de um gateway
o gateway eh responsavel por fazer a ponte entre os dados e a camada de visualizacao
Com uma camada dessas eh possivel trocar o coldfusion pelo flex molinho
.arquivos as
(investigar o que sao os arquivos .as pois parecem muito com funcoes tipo java/c++)
bindable /remote class / alias servem pra fazer a ligacao com o flex
O cara deu um exemplo do command (registro dos handlers para cada comando)
e usando data value transfer (bean só pra especificar a classe)
um proxy (padrao de projeto) para pegar os dados da view
sequencia de padroes que a view usa no projeto dele:
command -> proxy -> delegate
EMC - EA modela as classes e já gera código para as classes (o cara tá usando)
O coldfusion 9 é quase 10x mais rápido para criar objetos do que o 8.
Teremos menos problemas com factories.
Bela palestra pra quem nunca viu design patterns ou nao sabe como aplicar dentro do mundo coldfusion. Boas práticas de desenvolvimento que deveriam ser adotadas no projeto.
quarta-feira, 12 de agosto de 2009
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário