疑问说明:
几乎每个页面在PageLoad都有权限判别句子;在更新成功时,都会有操作日志记载,非常之常见。
AOP想让我们干什么?即是让我们,不要在每个页面都这样写权限判别和日志操作了。
不让我这样写,那咋写?AOP你让我咋写呢?
AOP说:
你能够独立完成权限/操作日志等模块,然后使用动态阻拦调用的办法,
在办法调用之前,你先调用[Begin]函数完成权限判别;
在办法调用之后,再调用[End]函数来写日志.
那咋整呢?
AOP说:
这个,两种办法
说起来有点复杂,借用他人的话说一下好了:
仿制代码
当前在.Net下完成AOP的办法分为两大类:
一是选用动态署理技能,使用截取音讯的办法,对该音讯进行装修,以替代或修饰原有目标行动的履行;
二是选用静态织入的办法,引进特定的语法创立“方面”,然后使得编译器能够在编译时间织入有关“方面”的代码。
动态署理完成办法使用.Net的Attribute和.Net Remoting的署理技能,对目标履行时间的上下文音讯进行截取,并以音讯传递的办法履行,然后能够在履行时间参加有关处理逻辑完成面向方面的功用;
而静态织入的办法完成通常是要依托一些第三方结构供给特定的语法,例如PostSharp,它的完成办法是选用 MSIL Injection和MSBuild Task在编译时置入方面的代码,然后完成AOP。
仿制代码
说白一点:
在一些类和办法上面标特点,然后继承特定接口或类,之后便可进行音讯阻拦,阻拦后仍是依据特点来调用其它办法