한국   대만   중국   일본 
?定?于配置 - ?基百科,自由的百科全? 跳?到?容

?定?于配置

?基百科,自由的百科全?
(重定向自 ?例?先原?

?定?于配置 convention over configuration [1] ,也?作 按?定?程 [2] ,是一??件 ??范式 英? Design paradigm ,旨在?少 ?件??人? 需做?定的?量,?得??的好?,而又不失?活性。

本?是?,??人??需?定?用中不符?定的部分。例如,如果模型中有?名?Sale的?,那??据?中??的表就?默?命名?sales。只有在偏??一?定?,例如??表命名?"products_sold",才需?有???名字的配置。

如果所用工具的?定?期待相符,便可省去配置;反之,可以配置??到所期待的方式。

?机 [ ?? ]

??不好的?架通常需要多?配置文件,每一?都有?多?置。?些配置文件?每一??目提供像是URL,或是??映射到 ?据?表 的各?信息。大量包含太多??的配置文件通常是?度??的?用??( 代??味道 )。 [3]

例如,在知名的Java ?象?系映射 ?架 Hibernate 的早期版本中,??及其?性映射到?据?上需要是在XML文件中的描述,其中大部分信息都?能?按照?定得到,如??映射到同名的 ?据? 表,??性分?映射到表上的字段。后?的版本抛?了 XML 配置文件,而是使用?些恰?的?定,?于不符合?些?定的情形,可以使用 Java ?注 ??明(??下面提供的JavaBeans?范)。

使用 [ ?? ]

?目的目???展示了Maven所?定了源代?的位置,只需配置?少的信息就可以自?完成??,??和打包等工作。

?多新的?架使用了?定?于配置的方法,包括: Spring [4] Ruby on Rails [5] ,Kohana PHP, Grails 英? Grails (Framework) [6] Grok Zend Framework CakePHP 英? 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]

?考文? [ ?? ]

  1. ^ 也?作?例?于配置,?例?先原?
  2. ^ Coding by convention
  3. ^ C2 Wiki (2009-09-01). Too Many Parameters. C2 Wiki, 1 September 2009. Retrieved from http://c2.com/cgi/wiki$?TooManyParameters [ 永久失效連結 ] .
  4. ^ Chapter 13.11 describes the application in the context of spring model/view/controller http://static.springsource.org/spring/docs/2.0.x/reference/mvc.html ?面存??? ,存于 互???案?
  5. ^ http://rubyonrails.org/ ?面存??? ,存于 互???案? ), advertises the paradigm right from 'home'
  6. ^ a description of configuration with the goal of convention http://grails.org/Unified+Configuration ?面存??? ,存于 互???案? ), and relationship to bean referencing from spring 存?副本 . [ 2010-09-29 ] . ( 原始?容 存?于2010-10-28).  
  7. ^ Sun (no date). JavaBeans specification, section 1.4. Retrieved from http://java.sun.com/javase/technologies/desktop/javabeans/docs/spec.html ?面存??? ,存于 互???案? ).
  8. ^ "As a general rule we don't want to invent an enormous java.beans.everything class that people have to inherit from. Instead we'd like the JavaBean s runtimes to provide default behaviour for 'normal' objects, but to allow objects to override a given piece of default behaviour by inheriting from some specific java.beans.something interface."

外部?接 [ ?? ]

?? [ ?? ]