
第322篇:AOP面向切面编程——小区的"万能门禁卡"你有没有想过一个问题:生活场景:物业的"万能权限卡"你住的小区有门禁系统。早上出门:门禁卡刷一下。晚上回家:门禁卡刷一下。快递到了:门禁卡刷一下。朋友来访:门禁卡刷一下。每次刷卡,门禁系统都会做三件事:验证身份——是不是本小区的人?记录日志——谁、什么时间、进了哪个门执行操作——开门问题是:这3件事在每个场景里都是一样的,但你总不能在每个地方都写一遍吧?技术故事:横切关注点软件开发中,有些逻辑是横跨多个模块的,比如:日志记录——每个接口都要记日志权限验证——每个操作都要检查权限事务管理——每个业务操作都要开启/提交事务性能监控——每个方法都要计时如果每个地方都写一遍,就像:public/