Yapılandırma yerine Sözleşmesi (olarak da bilinir Kongre tarafından kodlama , konfigürasyon üzerinde kongre İngilizce) bir geliştirici almak gerektiğini karar sayısını azaltmak eğilimindedir bir BT uygulamadır.
İfade, geliştiricinin yalnızca uygulamanın alışılmadık yönlerine odaklanması gerektiğini belirtir. Örneğin , modelde bir Satış türü varsa , veritabanındaki karşılık gelen tablo dolaylı olarak satış olarak adlandırılır . Ancak, bu kuraldan sapmayı , örneğin produit_vente tablosunu çağırmayı seçerseniz , bunu başarmak için kod yazmak gerekir.
Geliştirme aracı tarafından uygulanan kural, uygulama için doğru olana karşılık geldiğinde, herhangi bir kod veya yapılandırma dosyası yazmak zorunda kalmadan hizmetten yararlanırız.
İyi çalışılmamış teknolojiler, her biri birçok seçeneğe sahip birden çok yapılandırma dosyası gerektirir. Her projeye özel konseptler içerirler.
Örneğin, Hazırda Bekletme Sınıfı Veritabanı eşleme sisteminin ilk sürümleri, yapılandırma dosyalarında bu eşlemelerin açıklamalarını gerektiriyordu. Bugün, konfigürasyonu istisnalar için ayırarak, sınıfın adının tablonun adıyla aynı olmasını şart koşan kuralı tercih ediyoruz.
Birçok teknoloji bu yaklaşımı kullanır. Böylece Laravel , Spring , Ruby on Rails , Grails , Zend Framework , CakePHP , Symfony , Maven , Web2py , Play (MVC).
Bununla birlikte, kavram, resmileştirilmesinden daha eskidir ve nesneye yönelik tasarımda diğer şeylerin yanı sıra bulunabilir. Örneğin JavaBeans bu fikre tamamen karşılık gelir. Şartnamelerine göre:
"Genel bir kural olarak, herkesin miras alması gereken büyük bir java.beans.NImportWhat sınıfını icat etmek istemiyoruz. Bunun yerine, ortam "normal" nesneler için örtük davranışı sağlar ve belirli davranışların açıklamasını alt sınıflara bırakır. "