2010-12-03 12 views

回答

5

约定规定,90%的时间将以某种方式进行。当您偏离该惯例时,您可以进行更改...与强制每个用户了解每个配置参数。这个想法是,如果你需要它不同,你会在那个时间点搜索它,而不是在你经常没有任何实际价值的时候把你的头围绕在所有的配置参数上。

恕我直言,它总是有道理的。使约定优先于显式配置是理想的。再次如果有人担心,他们会强迫自己调查需求。

3

我认为好处很简单:无需配置。您不需要为这种或那种类型的资源定义位置,例如,为应用程序/框架自己找到它们。

至于没有任何意义的情况:任何情况下,相当频繁的情况下需要替代配置,或者开发人员/管理员需要“选择”某些行为明确地(例如,以防止意外和意想不到的副作用,可能有安全影响)。

1

最明显的好处是您必须编写较少的代码。我们来看Java Persistence API的情况。当你定义一个具有属性和对应的setter/getters的POJO时,它是一个简单的类。但是当你用@ javax.persistence.Entity注解它时,它就变成了一个实体对象(表),它可以在数据库中持久化。现在只需要一个简单的注释就可以实现,没有其他配置文件。

另一个重点是,所有的逻辑都在一个地方和一种语言(即你摆脱单独的XML)。