OOP 一切皆对象,,,对象交互---功能,,,功能叠加---模块,,,模块叠加----系统缓存
AOP 面向切面, 业务逻辑外,添加公共逻辑,增长日志功能,权限控制功能,缓存处理,异常处理,事务,性能监控 额外逻辑性能
一、装饰器 给依赖倒置实体包一层,上下加逻辑this
public interface IUser { void regUser(); }; public class User : IUser { public void regUser() { Console.WriteLine("注册用户"); } }
//装饰一下,包一层 public class UserDecorator : IUser { public IUser _user { get; set; } public UserDecorator(IUser user) { this._user = user; } public void regUser() { Console.WriteLine("注册前"); _user.regUser(); Console.WriteLine("注册后"); } }
----------------
IUser user = new User();
UserDecorator ud = new UserDecorator(user);
ud.regUser();spa
二、代理模式:代理
public class ProxyUser : IUser { private IUser _user = new User(); public void regUser() { Console.WriteLine("注册前"); _user.regUser(); Console.WriteLine("注册后"); } }