Tek Sorumluluk Prensibi (Single Responsibility Principle – SRP) Nedir Nasıl Kullanılır?

Tek Sorumluluk Prensibi (Single Responsibility Principle - SRP) Nedir Nasıl Kullanılır?

Tek Sorumluluk Prensibi (Single Responsibility Principle – SRP) Nedir Nasıl Kullanılır?

Tek Sorumluluk Prensibi (Single Responsibility Principle – SRP), nesne yönelimli programlama (OOP) prensiplerinden biridir ve bir sınıfın yalnızca bir sorumluluğu olması gerektiğini savunur. Bu prensibe göre, bir sınıfın yalnızca bir işlevi olmalı ve o işlevi en iyi şekilde yerine getirmelidir. Bu, kodun okunabilirliğini, bakımını ve yeniden kullanılabilirliğini artırır.

ASP.NET Core, SRP prensibine uygun bir framework’tür. ASP.NET Core, işlevsel olarak ayrılmış modüllerden oluşan bir yapı sunar. Bu modüller, yalnızca kendi işlevlerini yerine getirmekle sorumludur. Örneğin, bir controller sınıfı yalnızca bir HTTP isteğini karşılamakla sorumludur ve veri erişimini yapmak için ayrı bir sınıf kullanır.

Tek Sorumluluk Prensibi (Single Responsibility Principle - SRP) Nedir Nasıl Kullanılır?
Tek Sorumluluk Prensibi (Single Responsibility Principle – SRP) Nedir Nasıl Kullanılır?

Bir ASP.NET Core projesinde, SRP prensibine uygun bir kod yapısı oluşturmak için aşağıdaki yöntemleri kullanabilirsiniz:

İş Katmanı: İş katmanı, uygulama mantığını ve iş süreçlerini yöneten bir katmandır. Bu katmanda, veri işleme işlevleri, veri erişim işlevleri ve diğer işlemler yer alır. Bu katman, yalnızca iş süreçleri için tasarlanmıştır ve kullanıcı arayüzüne (UI) bağımlı değildir.

Veri Katmanı: Veri katmanı, veri kaynaklarına erişimi yönetir. Bu katman, veri tabanı işlemleri gibi işlemleri yönetir ve iş katmanı tarafından çağrılır. Bu katmanın sorumluluğu, veri kaynaklarına erişimi sağlamak ve veri işleme işlevlerini sağlamaktır.

Arayüz Katmanı: Arayüz katmanı, kullanıcı arayüzü işlevlerini yönetir. Bu katmanda, kullanıcının istekleri karşılanır ve iş katmanına iletilir. Bu katmanın sorumluluğu, kullanıcı arayüzü ile etkileşimi sağlamaktır.

ASP.NET Core, bu katmanları ayırmak ve ayrı dosyalarda tutmak için birçok araç sağlar. Örneğin, projenize MVC (Model-View-Controller) ekleyerek, UI katmanınızı ayrı bir controller sınıfı olarak yönetebilirsiniz. Ayrıca, EF (Entity Framework) Core kullanarak, veri katmanınızı ayrı bir dosyada tutabilirsiniz.

Sonuç olarak, SRP prensibi ASP.NET Core projesi için önemli bir prensiptir. Bu prensibe uygun bir yapı, kodun okunabilirliğini, bakımını ve yeniden kullanılabilirliğini artırır. Ayrıca, uygulamanızın ölçeklene bir örnek üzerinden daha iyi anlaşılabilir. Örneğin, bir e-ticaret uygulaması düşünelim. Bu uygulamanın işlevleri arasında kullanıcıların ürünleri görüntülemesi, sepete eklemesi ve ödeme yapması gibi işlemler yer alır. Bu uygulama için SRP prensibine uygun bir kod yapısı oluşturabiliriz.

İş Katmanı:

Sepet işlemlerinin yapıldığı bir sınıf Ödeme işlemlerinin yapıldığı bir sınıf Ürünlerin listelendiği ve stok durumlarının kontrol edildiği bir sınıf

Veri Katmanı:

Veritabanı işlemlerinin yapıldığı bir sınıf Entity Framework Core kullanarak veri erişimini sağlayan bir sınıf

Arayüz Katmanı:

Ürünleri listelemek için bir controller sınıfı Sepeti yönetmek için bir controller sınıfı Ödeme işlemlerini yönetmek için bir controller sınıfı Bu örnekte, her sınıf yalnızca bir işlevi yerine getiriyor. İş katmanı, sepet işlemleri, ödeme işlemleri ve ürün listeleme gibi işlemler için ayrı sınıflar içeriyor. Veri katmanı, veritabanı işlemleri ve veri erişimi için ayrı sınıflar içeriyor. Arayüz katmanı, kullanıcı arayüzü işlevleri için ayrı controller sınıflar içeriyor.

Bu yapı sayesinde, uygulamanın her katmanı ayrı işlevlere sahip olduğu için, bir katmanda yapılan değişikliklerin diğer katmanları etkilemesi azalır. Örneğin, veritabanında bir değişiklik yapmak istediğinizde, yalnızca veri katmanınızı değiştirmeniz yeterli olacaktır. Bu da uygulamanın bakımını ve geliştirilmesini kolaylaştırır.

Bir yanıt yazın