注解与配置的配合使用

注解与配置

Java的注解(Annotation)在.NET叫自定义属性(Custom Attribute),在本文使用注解这个名指代这两个本质上是相同的东西。
配置,是影响程序行为的参数,一般放在与程序相对独立的文件中,在以前通常是ini文件,在现在通常是xml文件,也有放在数据库中的。

理论上讲,通过注解能表示的信息,通过配置也可以。

但两者还是有些区别,比如注解在编译时就定型了,不能修改了(动态修改程序集另当别论),而配置没有这些限制。配置的制作、修改没有注解那么方便,但更为灵活。

我的理想规则是这样的:

  1. 组件的使用者优先使用注解而不是配置。
  2. 组件同时支持配置,当配置与注解冲突时,以配置为准。
  3. 要慎重定好注解、配置的缺省值。

优点:

  1. 多数情况下使用注解,方便。比配置不易出错。
  2. 少数情况下在编译后要调整,使用配置文件,灵活。
  3. 配置只写与注解的差异信息,工作量远小于全部信息写在配置上。

缺点:

  1. 组件制作者需要同时支持注解和配置,相比只支持其中一个,工作量比较大。
原文地址:https://www.cnblogs.com/BillySir/p/9723636.html