Quais são as vantagens e desvantagens do uso de um paradigma de programação orientada a aspectos [fechado]


10

Ok, então aqui está a pergunta: Quais são as vantagens e desvantagens do uso de um paradigma de programação orientada a aspectos.

Minhas vantagens e desvantagens até agora:

Vantagens:

  • Complementa a orientação do objeto.
  • Modulariza preocupações transversais, melhorando a capacidade de manutenção e a compreensão do código.

Desvantagem:

  • Não é o conceito mais fácil de entender - nem tão bem documentado quanto o OO
  • OO vai longe o suficiente na separação de preocupações ...

Alguém gostaria de desafiar algum desses / adicionar os seus?

Muito obrigado, J


11
Muitos materiais de aprendizagem já estão disponíveis. Introdução ao AOP - dotnetslackers.com/articles/net/… . Saiba PostSharp (framework AOP) - programmersunlimited.wordpress.com/postsharp-principals
DustinDavis

Respostas:


3

Do ponto de vista de um programador que tem como lema "Keep It Simple Stupid", avaliar o uso de tais modelos é perigoso. Pelo que ele tenta realizar, torna um programa muito mais difícil de compreender e, consequentemente, mais fácil de quebrar.

O gênio da boa programação é ironicamente sua simplicidade. Programas complexos podem funcionar, mas são pesadelos no que diz respeito à manutenção, e quando você considera que 2/3 do tempo gasto por um programador é colocado na correção de erros nos programas, ele não compensa no final.


2

Distribuir a funcionalidade do local de operação aumenta a complexidade e os problemas de ação à distância.

Considero que essas abordagens de design são algo em que devemos evoluir, porque o sistema exige uma operação limpa, não projetada no início.


2

Vantagens adicionais (nem todas)

  • Reutilização de classes e aspectos, graças à modularidade
  • Custo reduzido de codificação graças à modularidade e reutilização
  • Código mais curto, graças à capacidade de ter um aspecto com o código que seria implementado (disperso) em várias classes
  • Capacidade de adicionar comportamento a uma classe sem introduzir nele um código não relacionado à sua principal responsabilidade
  • Capacidade de redefinir a semântica de métodos / classes sem informar as classes clientes sobre isso

Desvantagens

  • Sobrecarga de tempo de execução ao usar algumas construções, por exemplo, cflow

0

Desvantagem: Suporte deficiente da cadeia de ferramentas: - o depurador e o criador de perfil podem não conhecer a "Programação Orientada a Aspectos", por esse motivo, eles podem trabalhar no código como se todos os aspectos tivessem sido substituídos pelo código de procedimento.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.