AOP 你想干什么 IOC 你服务什么

本文深入探讨了面向切面编程(AOP)的概念及其在简化软件开发过程中的作用,通过实例展示了如何利用AOP技术减少重复代码、提高代码复用性和维护性。重点介绍了动态代理和静态织入两种实现方式,以及如何在类和方法上标记特性以实现权限判断和操作日志记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

疑问说明:

几乎每个页面在PageLoad都有权限判别句子;在更新成功时,都会有操作日志记载,非常之常见。

AOP想让我们干什么?即是让我们,不要在每个页面都这样写权限判别和日志操作了。


不让我这样写,那咋写?AOP你让我咋写呢?

AOP说:

你能够独立完成权限/操作日志等模块,然后使用动态阻拦调用的办法,

在办法调用之前,你先调用[Begin]函数完成权限判别;

在办法调用之后,再调用[End]函数来写日志.

 

那咋整呢?

AOP说:

这个,两种办法

说起来有点复杂,借用他人的话说一下好了:

仿制代码​


当前在.Net下完成AOP的办法分为两大类:

一是选用动态署理技能,使用截取音讯的办法,对该音讯进行装修,以替代或修饰原有目标行动的履行;

二是选用静态织入的办法,引进特定的语法创立“方面”,然后使得编译器能够在编译时间织入有关“方面”的代码。

动态署理完成办法使用.Net的Attribute和.Net Remoting的署理技能,对目标履行时间的上下文音讯进行截取,并以音讯传递的办法履行,然后能够在履行时间参加有关处理逻辑完成面向方面的功用;

而静态织入的办法完成通常是要依托一些第三方结构供给特定的语法,例如PostSharp,它的完成办法是选用 MSIL Injection和MSBuild Task在编译时置入方面的代码,然后完成AOP。

 仿制代码

说白一点:

在一些类和办法上面标特点,然后继承特定接口或类,之后便可进行音讯阻拦,阻拦后仍是依据特点来调用其它办法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值