AOP 与 AspectJ 的现实应用与优势解析
1. AOP 的替代技术与发展阶段
在软件开发领域,有多种基于拦截器的技术曾被视为面向切面编程(AOP)的替代方案。例如,EJB3 引入了拦截器作为一种新机制,其概念类似于 AOP 的通知,但缺乏作为 AOP 核心的连接点模型。
动态语言也为 AOP 提供了另一种选择。像 Groovy 和 Ruby 这类动态语言,尽管围绕它们的讨论很多,但仍然相对较新。随着这些语言的成熟并在企业应用中得到更广泛的使用,AOP 有望获得更重要的地位。有趣的是,由于动态语言具备元编程能力,实现 AOP 变得相对容易。
目前,AspectJ 正处于一个发展阶段。它会如何发展是值得关注的。当技术发展到生产力平稳期时,这一阶段往往缺乏炒作,技术不再处于前沿或热门状态。但它开始大量出现在简历和工作申请中,因为它实现了提高生产力的承诺,开发者会将其用于已知能有效解决的问题。虽然对于追求刺激的人来说这个阶段很枯燥,但它却是大规模采用的最佳阶段。在这个阶段,通常会有一些有趣的创新,但这并非该阶段的标志,重点在于基于技术采用的实际经验总结出的最佳(和最差)实践,以及针对特定问题的预制解决方案(库)。如今的 Java 语言就处于这个阶段,预计 AOP 和 AspectJ 在几年后也会达到这一水平。
2. AOP 的应用场景
我们可以通过查看 AOP 的应用场景来了解它的实际情况。以下是一些常见的应用场景:
- 企业应用 :企业应用需要处理许多横切功能,如事务管理、安全、审计、服务级别协议、监控、并发控制、提高应用可用性和错误处理等。许多企业应用使用 AOP 来实现这些功能。几乎
超级会员免费看
订阅专栏 解锁全文
77

被折叠的 条评论
为什么被折叠?



