SOLID Prensipleri — Single Responsibility Principle

Mehmet Berk Akın
3 min readJun 5, 2021

--

Yazılım geliştirme sürecim boyunca en çok duyduğum kavram “Clean Code” kavramı oldu. Bir yazılım geliştirici nasıl “Clean Code” yazabilir sorusuna hepimizin belli başlı cevapları vardır. Peki “Clean Code” yazabilmek için uymamız gereken prensipler nelerdir ?

SOLID Prensipleri

SOLID yazılım prensipleri; geliştirilen yazılımın esnek, yeniden kullanılabilir, sürdürülebilir ve anlaşılır olmasını sağlayan, kod tekrarını önleyen ve Robert C. Martin tarafından Design Principles and Design Patterns kitabında öne sürülen prensipler bütünüdür.

Peki bu prensipler bütününün amaçları nelerdir ve bizlere neler sağlar;

  • Yeni geliştirilen özellikleri kodda herhangi bir değişiklik yapmadan kolayca ekleyebilmek
  • Geliştirilen yazılımın sürdürülebilir olmasını sağlamak ve kodda değişikliğe gerek kalmadan yeni özellikleri ekleyebilmek
  • Herkes tarafından anlaşılabilir ve temiz bir tasarım sağlamak

Bu amaçlar doğrultusunda yazdığımız kodun daha anlaşılır olması ve “Clean Code” kavramına hitap ediyor olması beklenir.

SOLID Temelleri

Ben bu yazımda bu beş temel prensibin ilk maddesini oluşturan Single Responsibility Princible prensibini basit bir kod örneği ile açıklayacağım.

S — Single Responsibility Principle

Aslında Türkçe anlamını incelediğimizde bize bir fikir veriyor. Türkçe anlamına baktığımızda “Tek Sorumluluk Prensibi” olarak karşılaşırız. Anlatılmak istenen sorumluluk, bir sınıf (nesne) yalnızca bir amaç uğruna değiştirebilir. Bunu sağlamak için bir sınıfın yapması gereken yalnızca bir işi olması gereklidir. Bu prensibi bir örnek ile açıklamak istiyorum. Bir aşçı aynı anda, gelen siparişi hazırlama, malzemeleri belirlemek, malzemeleri doğramak ve pişirmeyi yapması beklenmez. Oluşturulan sınıf ne kadar fazla sorumluluk alırsa, o kadar fazla değişime uğramak zorunda kalır. Bu durum Single Responsibility Principle tanımına aykırıdır.

Şimdi bu prensibi Visual Studio üzerinde bir konsol uygulaması üzerinde basit bir örnek ile açıklamak istiyorum.

Single Responsibility Principle için uygun olmayan kod örneği

Bu kod örneğinde bir Personel isminde bir sınıf tanımlı ve bu sınıfa ait birden fazla sorumluluk var. Ve bu kod üzerinde yapılan bir değişiklik Personel sınıfını doğrudan etkileyecektir.

Single Responsibility Principle için uygun kod örneği

Burada bir Product sınıfı oluşturuluyor ve bu Product üzerine etki edebilecek değişiklikler farklı sınıflarda tanımlanmıştır. Böylelikle yazdığımız kodu düzenlemek istediğimizde büyük bir karmaşa ile karşılaşmayacağız. Kod üzerinde çok fazla bir değişiklik yapılamadan işlerimizi gerçekleştirme imkanımız olur.

Özetlemek gerekirse, SOLID prensipleri daha okunaklı, daha sürdürülebilir ve yeniden kullanılabilir kod yazmamızı sağlar. Bu prensipler Nesne Yönelimli Programlama (OOP) için önemlidir. SOLID prensiplerine uymak diğer yazılımcıların kodumuzu anlaması açısından ve temiz kod kavramı açısından oldukça önemlidir.

“A class should have only one reason to change.”

Robert C. Martin

Not: Bir sonra ki yazım diğer prensipler üzerine , henüz bitmedi. İyi okumalar 😃

Referanslar :

--

--

No responses yet