首页 > 代码库 > 各种IoC框架下实现AOP

各种IoC框架下实现AOP

.Net AOP(五) 各种IoC框架下实现AOP

 

利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率主要功能日志记录,性能统计,安全控制,事务处理,异常处理等等。主要意图将日志记录,性能统计,安全控制,事务处理,异常处理等代码从业务逻辑代码中划分出来,通过对这些行为的分离,我们希望可以将它们独立到非指导业务逻辑的方法中,进而改变这些行为的时候不影响业务逻辑的代码一个Castle的实现首先下载Castle.Windsor.dll自定义Interceptorpublic class MyInterceptor : IInterceptor    {        public void Intercept(IInvocation invocation)        {            PreProceed(invocation);            invocation.Proceed();            PostProceed(invocation);        }        public void PreProceed(IInvocation invocation)        {            Console.WriteLine("方法执行前");        }        public void PostProceed(IInvocation invocation)        {            Console.WriteLine("方法执行后");        }    }用户注册接口和实现public interface IUserProcessor    {        void RegUser(User user);    }    public class UserProcessor : IUserProcessor    {        public virtual void RegUser(User user)        {            Console.WriteLine("用户已注册。Name:{0},PassWord:{1}", user.Name, user.PassWord);        }    }客户端调用public class Client    {        public static void Run()        {            try            {                ProxyGenerator generator = new ProxyGenerator();                MyInterceptor interceptor = new MyInterceptor();                UserProcessor userprocessor = generator.CreateClassProxy<UserProcessor>(interceptor);                User user= new User() { Name = "lee", PassWord = "123123123123" };                userprocessor.RegUser(user);            }            catch (Exception ex)            {                throw ex;            }        }    }

 

各种IoC框架下实现AOP