39、设计模式与并发控制:原理、实现与优化

设计模式与并发控制:原理、实现与优化

1. 注解驱动的参与者模式

定义特定特征的注解往往存在一定难度。例如, Timing 注解的 value 属性应该使用什么单位呢?基于挂钟的任何单位在不同速度的机器上都可能是错误的。也许可以在作为基准的特定设置上使用毫秒,或者在基准 CPU 上使用 CPU 周期数。但能否轻松计算出这样的测量值呢?如果这类决策成为问题,转向基于主观特征的注解通常是一种务实的选择。

并非所有抽象在所有情况下都有意义,提供选择特定实现的自由总是可取的。使用不使用任何注解的抽象基方面可以解决这个问题,让子方面做出正确的抽象选择。

下面来探讨注解驱动的参与者模式(ADPP)的一种变体,它可以弥合这些抽象层次,并处理未注解的元素。

2. 桥接参与模式

一些注解会让开发者感到不适,他们觉得使用注解(尤其是特定框架的注解)会破坏普通 Java 对象的简洁性。例如,Spring 框架中的 @Configurable 注解。虽然大多数涉足领域对象依赖注入(DI)的开发者对用 @Configurable 注解标记类没有问题,但也有一些人会因领域类与 Spring 框架的耦合而感到不安。一方面,Spring 的方面期望类被标记该注解;另一方面,用该注解标记领域类会使它们变得不那么“纯粹”。

桥接参与模式有助于克服这一困境。在这种情况下,可以使用一个方面来提供框架方面期望的注解。该模式的核心思想是利用现有程序元素的某些特征,通过 AspectJ 中的 declare @type

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值