我知道这个话题可能已经在这里讨论过了,关于制作具有逻辑功能并根据条件执行特定操作的java注释。
其中一个著名的例子当然是junit和hibernate。
我还看到一些注释,当您将其放在web服务控制器的api上时,它会检查身份验证令牌的标头,如果用户未被授权,它将返回未授权的消息,甚至不会进入此api。
我还看到了一个安卓库,它用注解完成了大多数正常的应用程序逻辑:http://androidannotations.org/。
现在,我在互联网上看到的关于这个主题的所有教程都没有给出明确的例子来说明如何用最少的代码来实现它,最后我发现编写了额外的代码,这与使用注释和逻辑的主要目的相冲突,这是为了节省编写更多代码的时间。
以本参考文献中的http://androidannotations.org/为例
@NoTitle
等同于
requestWindowFeature(Window.FEATURE_NO_TITLE);
在这个例子中,他们似乎只是注入了他们的注释库,他们没有改变任何其他的东西,也没有添加任何额外的代码,比如改变activity的基类。
事情是不是太抽象了?
如果是这样的话,我如何才能达到这种抽象级别来制作类似于我上面提到的android库的东西。
有什么推荐的设计模式吗?
发布于 2016-05-10 04:00:57
你提到的例子,即http://androidannotations.org/,实际上是注解的一个很好的实现。
在您的示例中,Android运行时必须根据指定的Annotation在运行时为属性(对象)赋值。还可以根据方法上指定的注解来拾取方法以供执行。
注解是Java中一个简单但功能强大的概念。您可以在很大程度上简化api的使用。
有关如何从头开始创建注释的信息,请查看此帖子https://devcompass.com/2016/05/08/java-annotations-converting-java-objects-to-excel-data/。在页面末尾签出源代码zip文件。
相信我,注释非常容易学习,它们可以在源代码实现中产生很大的不同。
https://stackoverflow.com/questions/32770858
复制相似问题