Dünya standartlarında yazılım geliştirmek için uymamız gereken 5 prensip vardır.
- Single Responsibility Principle
- Open/Closed Principle
- Liskov ‘s Substitution Principle
- Interface Segregation Principle
- Dependency Inversion Principle
1- Single-Responsibility Principle(Tek Sorumluluk Prensibi) : Bir Sınıfın ya da fonksiyonun,metodun tek bir görevi, sorumluluğu olmalıdır. ana görevi değilse yapmasına gerek yoktur
2- Open-Closed Principle(Açık Kapalı Prensibi) . İnterface ve abstract sınıflar kullanılarak istenen eklemeler yapılabilir. Geliştirilmeye açık ancak değiştirmeye kapalı
3 — Liskov Substitution Principle ( Liskov’un Yerine geçme Prensibi) : Bir ana sınıftan ya da sınıflardan türetilen sınıfların bir üst hiyerarşideki sınıfların yerine geçmesidir
4- Interface Segregation Principle ( Arayüz Ayrımı Prensibi) : Arayüzde o an sadece kullanılacak olan eklentilerin ekli olması gerektiğini savunur.Gerek değilse kullanma.
Dependency Inversion Principle ( Bağımlılıkların Terslenmesi Prensibi)
Dependency Inversion Principle ( Bağımlılıkların Terslenmesi Prensibi): bağımlılıkların azaltılması, Varlıklar(Alt sınıflar ve Üst sınıflar) somut olmayan soyutlamalara bağlı olmalıdır. örneğin Generiz List <T> kullanmak yerine ICollection kullanmak.