(S)ingle Responsibility : Her modül tek bir sorumluluğa sahip olmalı, olası bir değişiklik te tek bir nedene dayanmalı
(O)pen/Closed : Genişlemeye açık, modifikasyona kapalı tasarım kullanılmalı
(L)iskov’s Substitution : Türeyen sınıfın üyeleri, temel sınıfın üyeleri ile tamamen yer değiştirebilir olmalı
(I)nterface Segregation : Arayüzler birbirinden ayrıştırılmalı
(D)ependency Inversion : Yüksek seviye sınıfların, düşük seviye sınıflara direkt olarak bağımlı olmamalı, arada bir soyut sınıf (abstract class) veya arayüz (Interface) konulmalı

Devamını oku >>