2009-09-13 31 views
43

¿Hay algún recurso adecuado para mi enfoque en la Programación Orientada a Aspectos?Programación orientada a aspectos en C#

PS: Necesito entender la programación AO, no las bibliotecas o los marcos existentes de .NET o C# :)

+0

me parece como una víctima de http://stackoverflow.com/questions/325558/aspect-orient-ordering-programming-examples – Graviton

+0

[Programación Orientada a Aspectos] (http://izlooite.blogspot.com/2010/06/aspect-oriented-programming.html#comment- formulario) –

+0

Echa un vistazo a AOP en .NET - http://manning.com/groves (sí, es una autopromoción desvergonzada, pero es levant!) –

Respuesta

51

sólo para obtener su cabeza alrededor de ella: Es la capacidad de gancho eventos tales como: creación de objetos, configuración de propiedades, etc., y adjuntarles funciones generales que se completarán con el contexto relevante.

Como C# no tiene una función incorporada para esto, necesita un marco, como PostSharp, para hacer 'bytecode weaving' (es decir, simplemente escribir código para hacer las llamadas directamente a sus clases) para simularlo.

+4

En una nota lateral, http://www.postsharp.org/ tiene una gran explicación de lo que es y sus usos. – RCIX

+0

Sí postshopping es bueno (también tienen un buen sitio!) – TheVillageIdiot

+1

runtime emit también es bueno. La unidad y otros usan la emisión de la reflexión para hacer la interceptación del método. También .net tiene un gancho ContextBoundObjects como Jean mencionó. Desafortunadamente, hay un gran impacto con los objetos vinculados al contexto. – AbdElRaheim

2

programación orientada a aspectos significa tener un nivel meta, donde el yo puede definir funciones de registro o de control de seguridad/acceso a entretejer con su código en lugar de implementar estas características mucho tiempo en el código. Entonces, en lugar de ser unidimensional, debes programar en dos dimensiones.

Sé que esto puede sonar muy esotéricos, pero es fácil una vez que entendió.

AOP a menudo trabaja con clases proxy que interceptan llamadas y hacen cosas en segundo plano.

3

¡Qué buena pregunta!

Here es el podcast vale la pena escuchar.
Esto le dará una buena visión general de lo que es AOP? donde se puede usar?

Espero que ayude.

Cuestiones relacionadas