OOP genel olarak programlamada iş yükünü hafifletmek için kullanılan ve büyük işlerde olmazsa olmaz bir metodolojidir.
İstatistiklere göre yazılan uygulamanın karmaşıklığı bakım maliyetlerini ve süresini arttırıyordu ve verimli olmuyordu. Bu sorunların büyük kısmı NYP ile aşılmıştır. Ayrıca soyut mantığı bir kenara bırakıp gerçek dünya modellemesi ile uygulama geliştirme (OOP) fikrini ilk olarak Alan Kay 1960 yılında ortaya atmıştır.
NYP'da uygulama belirli parçalara bölünerek anlaşılması daha kolay hale getirilir. Sizden sonra gelecek yazılımcının programın işlevlerini (fonksiyonlarını) anlamasını kolaylaştırır ve karmaşıklığı (doğru şekilde kullanılırsa) engeller.
OOP doğru bir şekilde kullanılırsa aynı zamanda yapısı gereği kod karmaşasının (spagetti kod) önüne geçer. Çoğu geliştiricinin NYP kullanmasında bu olayın da büyük payı vardır.
Yukarıda özeti geçilen bu avatajlar ile yazılan uygulamanın kontrolü, bakımı ve geliştirilmesi OOP metodu ile daha kolay hale gelmiştir. Her açıdan hem geliştiriciye hem de proje finansına artıları vardır. OOP iş yükünü ve iş maliyetini düşürürken uygulamanın kalitesini ve sürdürülebilirliğini arttırır.
Ayrıca NYP'de 4 temel özellik bulunmakta. Bu maddelerden birinin sağlanmadığı durumda OOP'dan bahsedilemez.
- Soyutlama (Abstraction)
- Kapsülleme (Encapsulation)
- Miras Alma (Inheritance)
- Çok biçimlilik (Polymorphism)
Sizler için GitHub'dan bulduğum açık kaynak OOP kod örneklerini ve diğer yararlanabileceğiniz kaynakları aşağıya bırakıyorum.
- https://github.com/saikos/oop-examples (Java)
- https://github.com/falaybeg/ObjectOr...g-OOP-Examples (C#)
- https://www.programiz.com/python-pro...ed-programming (Python)
- https://beginnersbook.com/2017/08/cpp-oops-concepts/ (C++)
O tip insanlar da ya programlamayı hiç öğrenemiyorlar ya da bir şey kodladıkları zaman direkt spagetti koda dönüyor olay... O yüzden çok doğru bir paylaşım olmuş. Emrah hocam sizi de @emrtnm sizi de tebrik ederim, pdf olarak indirdim kitabınızı ilk fırsatta bakacağım.