SOLID Tasarım Prensipleri Nedir ve Ne İşe Yarar

A+
A-
SOLID Tasarım Prensipleri Nedir ve Ne İşe Yarar

Tasarım Prensibi nedir ?

Nesneye dayalı programlama ile geliştirilen yazılımlar oldukça karmaşık mimari tasarımlardan oluşurlar. Tecrübeli yazılımcılar, bu karmaşık yapılardaki tasarımları oluştururken ileride geliştirilebilme ihtimalini her zaman göz önünde bulundurarak esnek yapılar hazırlarlar. Bu esnek yapıların oluşturulmasında da bazı prensiplere uyulur. Bu prensiplerin aralarında “en önemlileri” diyebileceğimiz prensiplerin baş harflerinden ise SOLID kelimesi oluşur.Tasarım prensipleri, nesneye yönelik programlamanın temel prensipleridir.

SOLID tasarım nedir?

Tasarımcılar açısından yazılım hayal edilebilir bir üründür. Hayal ederken de kusursuz ve kolayca erişilebilen bir yazılım görüntüsü aklımıza gelir. Ancak iş kod kısmına geldiğinde problemler oluşmaya başlar. Kodun esnek yapıda olmaması, sürdürülebilir ve geliştirilebilir tasarlanmaması kodu kırılganlaştırır ve yazılım ürünün gelişmesini etkiler. Bu tür durumları ortadan kaldırmak için kullanılan SOLID tasarım prensiplerini maddeler halinde görelim.

 

  • Single Responsibility Principle
  • Open/Closed Principle
  • Liskov ‘s Substitution Principle
  • Interface Segregation Principle
  • Dependency Inversion Principle

 

Solid bir yazılım geliştiricinin esnek ve gelişmeye açık, object oriented programlama yaparken uyması gereken kuralların bir araya getirildiği bir prensiptir. Dünya standartlarında yazılım geliştirmek için uymamız gereken bu prensipler yukarıdaki 5 başlıkta ele alınıyor. Şimdi hep birlikte bu 5 maddeyi inceleyelim.

Single Responsibility Principle

solid1-sanalkasif

Tek sorumluluk anlamına gelen bu kuralın amacı projede bir değişiklik yapılmak istendiğinde buna bağlı olarak nelerin etkileneceği düşüncesinden kurtulmak ve özgürce isteğimiz geliştirmeyi yapabilmemize olanak sağlamaktır. Her bir metot sadece kendisine verilen işi yapar aynı anda birden fazla modele etki etmez.

Open/Closed Principle

openclose-sanalkasif

Açık kapalı prensibi projemizdeki nesnelerin geliştirmeye açık ama değişime kapalı olmaları anlamına gelmektedir. Oluşturduğunuz nesneler zaman içerisinde ek özellikler kazanabilir genişlemeye açık olurlar bu normal bir yazılım projesinde kaçınılmaz bir durumdur. Ama temel nesne değişime kapalı tutulmalıdır. Değişim ve gelişim kavramlarına bu kavram çerçevesinde çok dikkat edilmelidir.

Liskov ‘s Substitution Principle

liskov-sanalkasif

Yerine geçme prensibi kalıtım alarak türeyen sınıfların kalıtım aldıkları nesnenin tüm özellikleri kullanmalı ve sonrasında kendi özelliklerini barındırmasını hedefleyen bir prensiptir eğer nesne kalıtım aldığı objenin tüm özelliklerini kullanmaz ise ortaya gereksiz kod yığınları oluşur ve sonrasında kalıtım alınan objenin diğerlerinden ayrılması için if else bloklarına ihtiyaç olur ve bu durum son derece verimsiz bir yazılıma sebep olur.

Interface Segregation Principle

interface-sanalkasif

Arayüz ayırım prensibi, bir arayüze gerektiğinden fazla yetenek eklenmemesi gerektiğini söyler. Nesnelerin ihtiyaç duymadıkları fonksiyonların Interface’lerinden münkün olduğunca ayrıştırılmasıdır.

 

Dependency Inversion Principle

dependcy-sanalkasif

Bağımlılığın ters çevrilmesi ilkesine göre üst seviye sınıflar, modüller, metotlar vs. alt seviyeli sınıflara bağımlı olmamalıdır. Alt sınıflarda yapılan değişiklikler üst sınıfları etkilememelidir. Yüksek seviyeli sınıflar, düşük seviyeli sınıflara bağlı olmamalı, her ikisi de soyut kavramlara bağlı olmalıdır.

 

Sizler için yazılım geliştirmenin en önemli ayrıntılarından olan tasarım prensipleri konusunu inceledik. Yazılım konusunda meraklı olan arkadaşlarımız için , veritabanı işlemlerinin ne kadar önemli olduğunu biliyoruz. Bu yüzden sizler için Sql Create Table Komutu konumuzu incelemenizi öneririz. Okumak için buraya tıklayabilirsiniz.

 

ZİYARETÇİ YORUMLARI - 0 YORUM

Henüz yorum yapılmamış.