O documento discute os papéis e desafios de um arquiteto de software, incluindo identificar interfaces entre componentes e guiar a equipe de desenvolvimento. Aborda conceitos como orientação a objetos, camadas do Domain-Driven Design e programação voltada à interface. Apresenta três desafios de projeto como exemplos: um e-commerce, envio de nota fiscal e desenvolvimento de um novo banco online.
2. “PESSOAS DE TODO MUNDO ESTÃO
CONSTANTEMENTE CRIANDO APLICAÇÕES WEB
USANDO .NET, JAVA E PHP. NENHUMA DELAS
ESTÁ FALHANDO POR CAUSA DA TECNOLOGIA”
–Joel Spolsky
4. PAPEL DO ARQUITETO DE SOFTWARE
▸ Identificar as interfaces entre os componentes.
▸ Direcionando a equipe de desenvolvimento
▸ “Guia … experiente e capacitado que ensina aos outros se
virar melhor - Martin Fowler”
▸ Ter a visão do Design e da implementação
14. PROJETAR A INTERFACE PARA ENVIO
DA NOTA FISCAL NO E-COMMERCE
SEFA
E-COMMERCE
DADOS: Nome da Empresa,
CNPJ, Nome do Cliente, CPF,
Descrição da Compra, Valor
da Compra, Data da Compra
QUAL A INTERFACE SERIA
OFERECIDO PARA ENVIAR OS
DADOS DA NOTA FISCAL PELA
SEFA ?
COMO O E-COMMERCE DEVE
USAR ESSA INTERFACE ?
17. CRIAR OU USAR ?
▸ Considere o uso de alguma estratégia de injeção de
dependência
▸ Controla o ciclo de vida e as outras dependências.
▸ Ex:
▸ JAVA: CDI, Spring …
QUEREMOS SEMPRE USAR
18. DICAS++
▸ Domine seu ferramenta de mapeamento objeto relacional
▸ Faça uso de cache sempre que puder
▸ Se a operação puder ser assíncrona faça.
20. PROJETO DE UM NOVO BANCO
BANCO 100% ON-LINE
CARTÃO DE CRÉDITO
CLIENTES
WEB
MOBILE
Transações
Ebanking
Clientes precisam ter acesso à relatórios na web
No celular precisam de agilidade para consultar
as informações
QUE DECISÕES DA ARQUITETURA PRECISAM SER TOMADAS ?