Tag

OOP

Liskov Substitution Principle (LSP) – Liskov’un Yerine Geçme Prensibi

Open Closed prensibinden sonra vermiş olduğum uzun bir aranın arından sıradaki prensibimiz olan Liskov’un yerine geçme prensibi (Liskov Substitution Principle)  ile makalemize devam edelim. :) Önemli prensipler arasında olan LSP özünde bize geleceğe dönük olarak nasıl hamleler ile kod geliştiriliri veriyor. Önce bu cümleye bulmuş olduğum güzel bir resim ile giriş yapalım. :) Eğer bir ördek ise, ördek gibi ses çıkartır(Quicklemek her nasıl […]

Read More

Open Closed Principle (OCP) – Açık Kapalı Prensibi

Evet bir önceki Single Responsibility makalesinden sonra sıra geldi 2. prensibimiz olan Open-Closed (Açık Kapalı) prensibine. Prensiplerin hepsinin ayrı bir önemi var fakat open-closed’ın önemi biraz daha önde geliyor, en azından benim için :) Gerçek dünyada, bir uygulama geliştirme sürecinde veya sonrasında, sürekli müşterilerimizden yeni istekler ve güncelleme talepleri gelmektedir. Bu gelecek olan isteklerin sistemimize rahatlıkla entegre olabilmesi veya […]

Read More

Solid Nedir ve Single Responsibility Principle (SRP)

Merhaba arkadaşlar. Bir kaç makale serisi boyunca, SOLID prensipleri üzerinde durmayı planlıyorum. Öncelikle ilk prensibimiz olan Single Responsibility‘e geçmeden, kısaca SOLID kavramı nedir bir tanımaya çalışalım. SOLID, Robert Martin‘in sunumu ile ortaya çıkan bir Dependency Managament(Bağımlılık Yönetimi) biçiminin, 5 adet ilkesinin baş harflerinden oluşan prensiplerdir. Bunları sıralayacak olursak eğer: Single Responsibility Open Closed Liskov Substitution Principle Interface […]

Read More

İyi tasarım ve Kötü tasarım nedir?

Tasarım nedir? Tasarımı kısaca açıklamak gerekirse, bir programı hayata geçirebilmek için tasarım prensipleri kullanılarak oluşturulan yapıdır. İyi bir tasarım yapmak, bir program için büyük ölçüde önemlidir ve onun sürdürülebilirliğinin garantisidir de diyebiliriz.   İyi bir tasarım yaparken tıpkı Object Oriented Programming’in amaçlarında var olan Reusability, Extendability, Maintainability ve Readability kavramlarına uymaya özen gösterdiğimizde, uygulamamızın bir […]

Read More

Abstract ve Interface Nedir? Farkları nelerdir?

Merhaba arkadaşlar. Zaman zaman ilk başlarda hepimizin kafasını karıştırdığına eminim bu ikilinin. :) Ne zaman abstract kullanmalıyım, ne zaman interface kullanmalıyım vb. tarzı sorular. Şimdi gelelim bu ikilinin ne olduklarına. Bu ikili, nesne yönelimli programlamada (OOP) sınıfları soyutlamaya yarayan yöntemlerden ikisidir. Bu ikisinin ortak oldukları ve farklı oldukları yönler vardır. Haydi bu yönlere bir göz atalım. 1) Abstract […]

Read More

Object Oriented Programming (OOP) Nedir?

Özet olarak hayatı nesnelere bölmektedir. Kullandığımız yordamları direk uygulama kodunu yazmayıp, sınıflar içine yazıyor ve bu sınıflardan türettiğimiz nesneler üzerinden çağırıyor isek OOP yapıyoruz demektir. 3 prensibe sahiptir. Encapsulation, Inheritance, Polymorphism Bu kısımları kısaca açıklamak gerekirse; 1-      Encapsulation Nesne hakkındaki bilgiler anlamına gelir. Örneğin bir arabanın rengi, modeli gibi. 2-      Inheritance Bir nesnenin bir başka […]

Read More