- 2
- 0
- 约 16页
- 2022-04-23 发布于江苏
- 举报
C#实现动态代理.docx请管理员帮我审核一下,这篇文档的主要内容如题目所示啊
[转]基于 Dynamic Proxy 技术的方法拦截器开发
来自msdn 开发精选 代理技术--代码变得更简洁
在面向对象编程中,会用到大量的类,并且会多次调用类中的方法。有时可能需要对这些方法的调用进行一些控制。如在权限管理中,一些用户没有执行某些方法的权限。又如在日志系统中,在某个方法执行完后,将其执行的结果记录在日志中。处理这些需求的一般做法是在调用这些方法的地方加上适当的代码。如以下 C# 代码如示:
public class Class1
{
public void MyMethod()
{
...
}
static void Main()
{
Class1 c1 = new Class1(); if(permit())
{
c1.MyMethod(); logger();
}
}
}
在以上代码中,permit() 是一个得到 MyMethod 方法执行权限的函数,如果 MyMethod 方法可以被执行,那么 permit() 返回 true ,否则,返回 false。logger()是记录日志的函数。
我们可以看出,在这段程序中存在一个问题,就是它的主要功能是执行 MyMethod 方法,至于权限控制以及日志功能只是它的次要功能(这里说它们是次要功能,并不是说它们不重要,而是说没有这些功能并不影响程序的核心功能的执行)。而将这些次要功能和程序的主要业务逻辑混在一
原创力文档

文档评论(0)