SOLID Yazılım İlkeleri

Yazılım mühendisliğinde S.O.L.I.D. nesnesel tasarımları daha anlaşılır, esnek ve sürdürülebilir kılmayı amaçlayan, beş tasarım ilkesinin anımsatıcı bir kısaltmasıdır. Bu ilkeler, Amerikalı yazılım mühendisi ve eğitmen Robert C. Martin tarafından tanıtılan ilkelerin bir alt kümesi olan bu ilkeler, ilk olarak 2000 yılında yayımlanan Tasarım İlkeleri ve Tasarım Modelleri makalesinde tanıtılmıştır.

S.O.L.I.D. ilkeleri:

 Tek sorumluluk ilkesi: Bir sınıf, ancak bir tek sebeple değiştirilmelidir.
 Açıklık - Kapalılık İlkesi: Yazılım varlıkları, genişlemeye açık ama değişikliğe kapalı tutulmalıdır.
 Liskov İkame İlkesi: Temel sınıflara işaretçiler veya referanslar kullanarak bağlanan metotlar, temel sınıflardan türetilmiş sınıfların nesnelerini bilmeden onları kullanabilmelidir.
 Arayüz Ayrımı İlkesi: İstemciye özel arayüzler, genel amaçlı bir tek arayüzden daha iyidir 
 Bağımlılığın Tersine Çevrilmesi: Somutlamalara değil, soyutlamalara odaklan.

S.O.L.I.D. kısaltması, 2004'te Michael Feathers tarafından takdim edildi.

S.O.L.I.D. ilkeleri herhangi bir nesnesel tasarım için geçerli olsa da, çevik geliştirme veya uyarlanabilir yazılım geliştirme gibi metodolojiler için temel bir felsefe oluşturabilir.

Ayrıca bakınız 

 Kalıtım (nesne yönelimli programlama)

Kaynakça 

Nesne yönelimli programlama
Yazılım tasarımı
Programlama ilkeleri