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