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("注册成功,发个邮件吧");
            }
        }
  • 相关阅读:
    微信小程序右上角胶囊的位置
    NLP复习大纲
    网站收藏
    css中如何调整插入背景图片的大小
    禁止Power Apps Canvas用户通过SharePoint Online UI界面访问站点list
    c++ vector基本知识
    c++ map基本知识
    c++ string操作
    python学习笔记30:操作excel
    c++, 如何run一个c++程序
  • 原文地址:https://www.cnblogs.com/LJP-JumpAndFly/p/12165182.html
Copyright © 2011-2022 走看看