?定?于配置
(
convention over configuration
)
[1]
,也?作
按?定?程
[2]
,是一??件
??范式
,旨在?少
?件??人?
需做?定的?量,?得??的好?,而又不失?活性。
本?是?,??人??需?定?用中不符?定的部分。例如,如果模型中有?名?Sale的?,那??据?中??的表就?默?命名?sales。只有在偏??一?定?,例如??表命名?"products_sold",才需?有???名字的配置。
如果所用工具的?定?期待相符,便可省去配置;反之,可以配置??到所期待的方式。
?机
[
??
]
??不好的?架通常需要多?配置文件,每一?都有?多?置。?些配置文件?每一??目提供像是URL,或是??映射到
?据?表
的各?信息。大量包含太多??的配置文件通常是?度??的?用??(
代??味道
)。
[3]
例如,在知名的Java
?象?系映射
?架
Hibernate
的早期版本中,??及其?性映射到?据?上需要是在XML文件中的描述,其中大部分信息都?能?按照?定得到,如??映射到同名的
?据?
表,??性分?映射到表上的字段。后?的版本抛?了
XML
配置文件,而是使用?些恰?的?定,?于不符合?些?定的情形,可以使用
Java ?注
??明(??下面提供的JavaBeans?范)。
使用
[
??
]
?多新的?架使用了?定?于配置的方法,包括:
Spring
[4]
,
Ruby on Rails
[5]
,Kohana PHP,
Grails
[6]
,
Grok
,
Zend Framework
,
CakePHP
,
symfony
,
Maven
,
ASP.NET MVC
,
Web2py
(MVC),
Apache Wicket
。
?是一?古老的?念, 甚至在
Java
??中也可以?出?一?念的踪迹。例如,
JavaBean
?范非常多的依??一?念。下面摘?
JavaBean
s 1.1版?范的一段:
[7]
一般??,我?不希望造出一??大无朋的java.beans.everything?用?派生其他?,而是希望
JavaBean
s?行??一般的?象提供缺省的行?特征,但是允??象通??承特定的java.beans.something接口?覆盖缺省的行?特征的一部分。
[8]
?考文?
[
??
]
外部?接
[
??
]
??
[
??
]