一、初衷
1、水平分离:展示层-->业务层-->持久层
2、垂直分离:模块划分(如订单、库存)
3、切面分离:分离功能性需求与非功能性需求
二、AOP的好处
1、集中处理某一关注点
2、方便的添加删除关注点,不影响主业务模块代码
3、侵入性少,增强代码的可读性和可维护性
三、应用场景
权限控制 日志记录 缓存控制 事物控制 性能监控 分布式追踪 异常处理等等。
四、支持AOP的语言
Java .net c/c++ ruby php phthon等等
一、初衷
1、水平分离:展示层-->业务层-->持久层
2、垂直分离:模块划分(如订单、库存)
3、切面分离:分离功能性需求与非功能性需求
二、AOP的好处
1、集中处理某一关注点
2、方便的添加删除关注点,不影响主业务模块代码
3、侵入性少,增强代码的可读性和可维护性
三、应用场景
权限控制 日志记录 缓存控制 事物控制 性能监控 分布式追踪 异常处理等等。
四、支持AOP的语言
Java .net c/c++ ruby php phthon等等