知识卡片
动态代理抽横切
内容
动态代理把日志、事务、过滤等横切逻辑从业务类中抽离,在运行时织入目标接口。发散:AOP 的价值就在这里,重复的管控逻辑集中维护,业务代码保留核心语义。
参考来源
- 位置:《秒懂设计模式 2021》第12章《代理》12.4节「万能的动态代理」及Spring AOP举例(源文件:_epub-src/OEBPS/Text/chapter012.html)
- 结论依据:原文明确动态代理把黑名单过滤等逻辑与业务接口剥离,并直接举例Spring AOP用于日志、事务等横切逻辑,直接支持卡片论点。
- 原始内容:"黑名单过滤器的功能代码不再与任何业务接口有瓜葛了……在很多软件框架中都大量应用了动态代理的理念,如Spring的面向切面编程技术AOP……我们最常用到的就是给多个类方法前后动态加入写日志,此外还有为业务类加上数据库事务控制"