ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

AOP面向切面编程——小区的“万能门禁卡“

AOP面向切面编程——小区的“万能门禁卡“

第322篇:AOP面向切面编程——小区的"万能门禁卡"

你有没有想过一个问题:

生活场景:物业的"万能权限卡"

你住的小区有门禁系统。早上出门:门禁卡刷一下。
晚上回家:门禁卡刷一下。
快递到了:门禁卡刷一下。
朋友来访:门禁卡刷一下。

每次刷卡,门禁系统都会做三件事:

  1. 验证身份——是不是本小区的人?
  2. 记录日志——谁、什么时间、进了哪个门
  3. 执行操作——开门

问题是:这3件事在每个场景里都是一样的,但你总不能在每个地方都写一遍吧?

技术故事:横切关注点

软件开发中,有些逻辑是横跨多个模块的,比如:

  • 日志记录——每个接口都要记日志
  • 权限验证——每个操作都要检查权限
  • 事务管理——每个业务操作都要开启/提交事务
  • 性能监控——每个方法都要计时

如果每个地方都写一遍,就像:

public</
返回列表