– Single Responsibility Principle (Tek Sorumluluk)
Temel olarak anlamı bir nesne ya da sınıfı değiştirmek için birden fazla neden olmamalıdır. Yazılım içinde yer alan her yapının tek bir görevi olmalıdır da denilebilir. Başka bir deyişle her bir yazılım elemanına düşen yük eşit olmalıdır.
SRP esneklik, güncelleme ve yenileme maliyetini düşürme, tekrar kullanılabilirlik ve daha okunur, daha verimli bir yapı için tercih edilir.
-Open-Closed Principle
Yazılımı oluşturan birimler geliştirilmeye açık, kod değiştirmeye kapalı olmalıdır. Yani yeni ek özellikler için kod değiştirilmemeli anlamındadır.
OCP esneklik kazandırır, yeniden kullanılabilirlik sağlar ve yazılımcı için zamandan tasarruf demektir.
-Liscov Substitution Principle
Alt sınıfların üst sınıfların birbirleri ile uyumlu olması durumudur. Başka bir deyişle alt sınıflar üst sınıflar gibi kullanılabilmelidir.
-Interface Segregation Principle
Alt sınıfların yalnızca ihtiyaçları olan arayüzleri kullanması ve ya alt sınıfların ihtiyaçları olan arayüzlere(interface) ait metodlardan ihtiyaç fazlası olanların kullandırılmaya zorlanmamasıdır. Kısaca bir arayüze tek bir sorumluluk yüklenmelidir.
ISP yüksek uyum az bağlantı ve verimlilik, okunabilirlik sağlar.
-Dependency Inversion Principle
Sistem üzerindeki yapıların bağımlılıklarını soyut sınıf ve yapılar ilke azaltmak anlamındadır. Yeniden kullanılabilirlik için uygulanır.