• 装饰器模式,实现aop


    在不改变原来类的基础上,给原来的类的某方法扩展功能

     public class DirectorAop
        {
            public static void Show()
            {
                User user = new User() {
                    Name = "jump",
                    Password="123123"
                };
    
                Console.WriteLine("原来只干注册的事情");
                IUserProcessor userProcessor = new UserProcessor();
                userProcessor.RegUser(user);
    
                Console.WriteLine("实现aop后,的装饰器模式实现:");
                userProcessor = new UserProcessorDirecotr(userProcessor);//装饰了一层
                userProcessor.RegUser(user);
    
            }
        }
    
        public class User
        {
            public string Name { get; set; }
            public string Password { get; set; }
        }
    
        public interface IUserProcessor
        {
            void RegUser(User user);
        }
    
        /// <summary>
        /// 需要被装饰的类【就是要被扩展功能的类】
        /// </summary>
        public class UserProcessor : IUserProcessor
        {
            public void RegUser(User user)
            {
                Console.WriteLine("注册用户:" + user.Name);
            }
        }
    
        /// <summary>
        /// 装饰器类【就是扩展功能的类】
        /// </summary>
        public class UserProcessorDirecotr : IUserProcessor
        {
            private IUserProcessor _userProcessor;
            public UserProcessorDirecotr(IUserProcessor userProcessor)
            {
                this._userProcessor = userProcessor;
            }
            public void RegUser(User user)
            {
                Console.WriteLine("注册前,做点其他的吧");
                _userProcessor.RegUser(user);
                Console.WriteLine("注册成功,发个邮件吧");
            }
        }
  • 相关阅读:
    python模块
    Django基础
    Python __str__(self)和__unicode__(self)
    Redis基本操作
    测试面试宝典
    h5页面的测试方式
    selenium IDE的使用流程
    如何安装chrome扩展程序--selenium IDE
    Selenium 中 强制等待、显示等待、隐式等待的区别
    Selenium+Python 自动化 之八种元素定位方法
  • 原文地址:https://www.cnblogs.com/LJP-JumpAndFly/p/12165182.html
Copyright © 2020-2023  润新知