面向切面编程(AOP)

 结合设计模式,通过代码理解面向切面编程,有代码的很好理解的,5分钟可以看三遍

通过,结构型设计模式,装饰器模式来实现AOP,代码如下

复制代码
 /// <summary>    /// 装饰器模式实现静态代理     /// AOP 在方法前后增加自定义的方法     /// </summary>    public class DecoratorAOP     {         public static void Show()         {             User user = new User()             {                 Name = "Eleven",                 Password = "123123123123"             };             //直接调用            IUserProcessor processor = new UserProcessor();             processor.RegUser(user);             Console.WriteLine("***************");             //通过装饰器模式,在方法执行前后添加功能            processor = new UserProcessorDecorator(processor);             processor.RegUser(user);         }          public interface IUserProcessor         {             void RegUser(User user);         }         public class UserProcessor : IUserProcessor         {             public void RegUser(User user)             {                 Console.WriteLine("用户已注册。Name:{0},PassWord:{1}", user.Name, user.Password);             }         }          /// <summary>        /// 装饰器的模式去提供一个AOP功能         /// </summary>        public class UserProcessorDecorator : IUserProcessor         {             private IUserProcessor _UserProcessor { get; set; }             public UserProcessorDecorator(IUserProcessor userprocessor)             {                 this._UserProcessor = userprocessor;             }              public void RegUser(User user)             {                 BeforeProceed(user);                  this._UserProcessor.RegUser(user);                  AfterProceed(user);             }              /// <summary>            /// 业务逻辑之前             /// </summary>            /// <param name="user"></param>            private void BeforeProceed(User user)             {                 Console.WriteLine("方法执行前");             }             /// <summary>            /// 业务逻辑之后             /// </summary>            /// <param name="user"></param>            private void AfterProceed(User user)             {                 Console.WriteLine("方法执行后");             }         }      }
复制代码

50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信