zoukankan      html  css  js  c++  java
  • 装饰器模式,实现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("注册成功,发个邮件吧");
            }
        }
  • 相关阅读:
    团队任务拆解
    团队贡献分分配规则
    使用highcharts绘制美观的燃尽图
    【Alpha】阶段第一次Scrum Meeting
    项目功能规格说明书
    技术规格说明书
    软件工程团队第二次作业
    软工第一次团队作业
    团队作业 # 项目功能规格说明书
    团队作业 #2 —— 项目选择
  • 原文地址:https://www.cnblogs.com/LJP-JumpAndFly/p/12165182.html
Copyright © 2011-2022 走看看