为了设计尽可能重用的组件,我最近想到了所谓的“适配器注释”的可能性.这就是说,经典的Adapter OO模式应用于
Java注释.例如,假设我有一个完全基于JUnit的单元测试套件.我需要注释我的所有测试方法如下:
public class WidgetTest
{
@Test
public void test_WidgetConstructor()
{
// ...
}
}
但是,如果在用1000个测试类创建测试套件后,我决定开始使用一些全新的超酷测试框架进行单元测试,该框架要求所有测试方法都注释如下:
public class WidgetTest
{
@SuperCoolUnitTest(someParam="true")
public void test_WidgetConstructor()
{
// ...
}
}
现在,在这个特定的例子中,搜索n替换旧注释的旧注释可能是完全可行的,但在实际应用中,这不是一个可行的解决方案.
那么我可以用自己开发的东西“包装”我的单元测试注释,例如:
public class WidgetTest
{
@HomegrownUnitTestAnnotation
public void test_WidgetConstructor()
{
// ...
}
}
然后构建我自己的注释处理器,将@HomegrownUnitTestAnnotation的实例转换为我当前需要的注释(@Test或@SuperCoolUnitTest(someParam =“true”))?
显然,这个问题适用于所有注释,而不仅仅是JUnit提供的注释.我基本上是在考虑是否有可能为了可重用性/分离关注/等而包装第三方注释.提前致谢!