Pergunta

Existem bons recursos para envolver minha cabeça em torno Aspect Oriented Programming?

PS: Eu preciso entender de programação AO, não as bibliotecas ou frameworks disponíveis para .NET ou C # :)

Foi útil?

Solução

Apenas para obter a sua cabeça em torno dela: É a capacidade de gancho eventos, tais como: criação de objetos, a criação de propriedades, etc, e anexar funções gerais para eles, que será preenchida com contexto relevante.

Porque C # não tem um mecanismo embutido para isso, é necessário um quadro, como PostSharp, a fazer 'bytecode tecelagem' (ou seja, apenas escrever código para realmente fazer as chamadas, diretamente para suas classes) para simulá-lo.

Outras dicas

meios de Programação Orientada a Aspectos com um nível de meta, onde yo pode definir logging ou de segurança / controle de acesso apresenta entrelaçar com o seu código em vez de implementar muito tempo estas recurso em seu código. Então, ao invés de sendo unidimensional, você tem que programa bidimensional.

Eu sei que isso pode soar muito isotéricos mas é fácil uma vez que você entendeu.

AOP trabalha frequentemente com classes de proxy que interceptar chamadas e fazer as coisas em segundo plano.

Que pergunta oportuna?

Aqui é o valor do podcast de escuta.
Isto lhe dará uma boa visão geral sobre o que é AOP? onde ele pode ser usado?

Espero que ajude.

Um bom link abaixo, mostra como o código de um quadro AOP de sua preferência. Infelizmente, todas as suas classes consumidoras tem que herdar da MarshalByRefObject (através ContextBoundObject).

http://www.developerfusion.com / article / 5307 / orientada a aspectos-programação-usando-net / 3 /

verificar isso, ele está descrevendo como implementar AOP (log, sincronismo, detecção, tratamento de exceções ...) usando PostSharp

http: //www.codeproject. com.br / artigos / 337564 / Aspect-Oriented-Programação Usando-Csharp-e-posts

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top