Introduçãoaodesenvolvimentoorientado a aspectos<br />
GraduandoemSistemas de informaçãopela FAESA;<br />Arquiteto de software;<br />Palestras;<br />Treinamentos;<br />Consultor...
E-mail/MSN: denisferrari@live.com<br />Gtalk: denis.sisinf@gmail.com<br />Site: www.denisferrari.com<br />Blog: desenvolvi...
Preocupações de um sistema de informação;<br />Requisitos de software;<br />Responsabilidade;<br />Separação de responsabi...
Preocupações de um sistemas de infomação<br />
Quaissão as preocupaçõesnahora de desenvolver um sistema de informação?<br />
Negócio (Requisitosfuncionais);<br />Apresentação;<br />Persistência de dados;<br />…;<br />Segurânça;<br />Auditoria de p...
Separação de responsabilidades<br />
Sistemas de software consistem de um conjunto de &quot;áreas de interesse&quot; ou responsabilidades distintas.<br />Respo...
A melhor maneira de se projetar um sistema é através da separação de suas responsabilidades distintas de tal modo que pode...
Este princípio é razoavelmente antigo, e a OOP nos trouxe uma importante resposta a ele: a classe como uma dimensão para a...
Responsabilidadestransversais<br />
Em sistemas complexos, sempre existem responsabilidades de interesse comum que são utilizadas por vários módulos;<br />Est...
Proposta do AOP<br />
A programação orientada a aspectos foi criada em Palo Alto, nos laboratórios da Xerox em 1997;<br />A programação AOP nãot...
Na concepção de Soares e Borba (2002), “a programaçãoorientada a aspectospropõenãoapenasumadecomposiçãofuncional, mastambé...
O paradigma da AOP consiste na separação das responsabilidades transversais de um sistema em aspectos (unidades modulares)...
Utilizando a AOP, pode-se criar implementações que são fáceis de desenhar, entender e manter. Deste modo, AOP traz maior p...
ExemploPrático com postsharp<br />
E-mail/MSN: denisferrari@live.com<br />Gtalk: denis.sisinf@gmail.com<br />Site: www.denisferrari.com<br />Blog: desenvolvi...
Upcoming SlideShare
Loading in …5
×

AOP

811
-1

Published on

Apresentação que usei na palestra sobre AOP.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
811
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

AOP

  1. 1. Introduçãoaodesenvolvimentoorientado a aspectos<br />
  2. 2. GraduandoemSistemas de informaçãopela FAESA;<br />Arquiteto de software;<br />Palestras;<br />Treinamentos;<br />Consultor de negócios;<br />MCP, MCTS (Web Applications e Distributed Applications), MCPD (Web Applications);<br />EscreveartigosparaosportaisImasters, Linha de código e osdisponibilizatambémemseu blog.<br />9 anos de experiência no mercado de TI capixabaatuandocomoInstrutor, Web Master, DesenvolvedorSênior e Gerente de Projetos;<br />Denis Ferrari<br />
  3. 3. E-mail/MSN: denisferrari@live.com<br />Gtalk: denis.sisinf@gmail.com<br />Site: www.denisferrari.com<br />Blog: desenvolvimento.denisferrari.com<br />Twitter: @denisferrari<br />Contato<br />
  4. 4. Preocupações de um sistema de informação;<br />Requisitos de software;<br />Responsabilidade;<br />Separação de responsabilidades;<br />Responsabilidadestransversais;<br />Proposta do AOP;<br />Introdução a AOP<br />
  5. 5. Preocupações de um sistemas de infomação<br />
  6. 6. Quaissão as preocupaçõesnahora de desenvolver um sistema de informação?<br />
  7. 7. Negócio (Requisitosfuncionais);<br />Apresentação;<br />Persistência de dados;<br />…;<br />Segurânça;<br />Auditoria de processos;<br />Verificação de erros;<br />…;<br />Preocupações de um sistemas de infomação<br />
  8. 8. Separação de responsabilidades<br />
  9. 9. Sistemas de software consistem de um conjunto de &quot;áreas de interesse&quot; ou responsabilidades distintas.<br />Responsabilidade<br />
  10. 10. A melhor maneira de se projetar um sistema é através da separação de suas responsabilidades distintas de tal modo que podemos alterar/re-projetar cada uma sem que isto afete as demais partes do sistema;<br />A eficiência do desenvolvimento aumenta na medida em que conseguimos separar as suas diferentes responsabilidades em módulos estanques;<br />Separação de responsabilidades<br />
  11. 11. Este princípio é razoavelmente antigo, e a OOP nos trouxe uma importante resposta a ele: a classe como uma dimensão para a decomposição de responsabilidades:<br />Um objeto deve fazer apenas uma tarefa e fazê-la bem;<br />Um objeto não deve sepreocupar com o que os outros objetos fazem;<br />Num sistema macroscópico em que um objeto coordena objetos menores, ele confia que esses objetos executam bem a sua tarefa e não se preocupa com o como eles a executam;<br />Separação de responsabilidades<br />
  12. 12. Responsabilidadestransversais<br />
  13. 13. Em sistemas complexos, sempre existem responsabilidades de interesse comum que são utilizadas por vários módulos;<br />Estas responsabilidades são difíceis de isolar porque são necessárias em vários pontos do código;<br />Com a OOP, os crosscuttingconcerns ficam espalhados por vários módulos em pequenos trechos de código que são, em geral, repetitivos, resultando em sistemas difíceis de projetar, entender, implementar, manter e evoluir;<br />Responsabilidadestransversais<br />
  14. 14. Proposta do AOP<br />
  15. 15. A programação orientada a aspectos foi criada em Palo Alto, nos laboratórios da Xerox em 1997;<br />A programação AOP nãotrabalhaisoladamente, aocontrário, é um paradigmaqueextendeoutrosparadigmas de programação;<br />AOP<br />
  16. 16. Na concepção de Soares e Borba (2002), “a programaçãoorientada a aspectospropõenãoapenasumadecomposiçãofuncional, mastambémortogonal do problema. AOP permiteque a implementação de um sistemasejaseparadaemrequisitosfuncionais e não-funcionais”.<br />AOP<br />
  17. 17. O paradigma da AOP consiste na separação das responsabilidades transversais de um sistema em aspectos (unidades modulares) e a sua posterior composição junto às classes, formando um sistema único;<br />Os aspectos podem ser inseridos, alterados ou removidos em tempo de compilação. Por estarem em um único bloco de código, sua manutenção é mais simples, diminuindo a complexidade do sistema e facilitando o seu entendimento; <br />O código das classes fica livre do código relacionado às responsabilidades transversais, o que facilita sua reutilização em diferentes contextos, combinando diferentes aspectos dependendo das necessidades da aplicação.<br />AOP<br />
  18. 18. Utilizando a AOP, pode-se criar implementações que são fáceis de desenhar, entender e manter. Deste modo, AOP traz maior produtividade, qualidade e facilidade para a implementação de novas funcionalidades;<br />A AOP complementa a OOP por introduzir uma nova dimensão para a decomposição das responsabilidades transversais: os aspectos.<br />AOP<br />
  19. 19. ExemploPrático com postsharp<br />
  20. 20. E-mail/MSN: denisferrari@live.com<br />Gtalk: denis.sisinf@gmail.com<br />Site: www.denisferrari.com<br />Blog: desenvolvimento.denisferrari.com<br />Twitter: @denisferrari<br />Contato<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×