Alguém pode explicar os conceitos de AOP para manequins: ponto de união, corte de ponto, tecelagem etc.
Por exemplo: Aspecto: uma modularização de uma preocupação que abrange várias classes. O que isso significa?
fonte
Alguém pode explicar os conceitos de AOP para manequins: ponto de união, corte de ponto, tecelagem etc.
Por exemplo: Aspecto: uma modularização de uma preocupação que abrange várias classes. O que isso significa?
Pense em uma preocupação como um grupo de funcionalidade, por exemplo, registro, auditoria, segurança
Essas funcionalidades estão sempre presentes na maioria dos códigos, mas na verdade não vivem em nossas classes de animais-> cães - são funcionalidades que devem viver em muitas classes - são preocupações transversais .
Um ponto de junção é um local no código em que o código do aspecto é realmente executado.
Um pointcut é como dizer qual código é executado no ponto comum.
Tecelagem - é quando o compilador / sistema pega seu código normal e inclui todo o código AOP para que ele desencadeie o código correto etc. - pode pensar nisso como uma etapa extra de pré-compilação.
Um exemplo simples e compreensível é:
Esteja ciente de que a terminologia difere um pouco entre diferentes implementações e estruturas de AOP.
Leia em sequência
Cada definição se baseia nas anteriores.
Preocupação transversal
Algo que incomoda (preocupa) em todos os lugares (transversal) em seu aplicativo. por exemplo, registro ou segurança
Aspecto
Um pedaço de código que é adicionado automaticamente antes , depois ou ambos ( ao redor ) do código existente
PointCut & JoinPoint
Pointcut
Um local na execução do código onde parte do aspecto é executada.
JoinPoint
O ponto em que seu aspecto "se une" ao corte de ponto. Em um joinPoint "antes", você terá acesso aos parâmetros; em "joinPoint", após, você terá acesso ao valor de retorno. Se uma exceção for lançada, você pode precisar de um "try-catch-finalmente" para manipular ou lançar novamente.
Tecelagem
O processo de adicionar aspectos em torno de um pointcut
fonte