Dependency Injection, SOLID yazılım prensiplerinin D harfine karşılık gelen Dependency Inversion kavramına sahip bir design patterndir. Örneğimize geçmeden önce Dependency Inversion kavramından kısaca bahsetmek istiyorum.

DIP prensibi Robert C. Martin tarafından bulunmuş olup temelde 2 amacı vardır.

  • Üst seviye modüller, alt seviye modüllere bağlı olmamalı. İkiside abstraction’lara(soyutlama) bağımlı olmalı.
  • Abstraction’lar detaylara bağımlı olmamalı, detaylar abstraction’lara bağımlı olmalıdır.

Bu şekilde bir tanım yapıldığında biraz kafa karıştırıcı olabiliyor tabi:) Burada daha anlaşılır olması için modül yerine class(sınıf) üzerinden gidersek anlatılmak istenen en önemli noktanın iki sınıfın birbiri ile olan iletişimi doğrudan değil, interface veya abstract sınıflar üzerinden olmalıdır. …


Bu ilk yazımda sizlere Repository Desing Pattern nedir? Bundan bahsetmek istiyorum. Repository pattern muhtemelen en çok tavsiye edilen ve en çok kullanılan design patternlardan biridir. Özellikle .NET veya JAVA geliştiriyorsanız bu patternin adını daha sık duyduğunuza hiç şüphem yok.

Repository Design Pattern Ne İşe Yarar?

Repository pattern ile CRUD işlemlerinizi merkezileştirerek tek bir yerden gerçekleştirmemizi sağlar. Böylelikle;

  • Her tablo için ayrı ayrı CRUD(create, read, update, delete) kodu yazmamış oluruz.
  • Daha az kod yazılacağından dolayı hata yakalama işlemleri daha kolay hale gelecektir.
  • Yazdığımız kodlar daha okunabilir olacaktır.

Örneğin; products ve categories adında iki tane tablomuz olduğunu varsayalım. İki tablo içinde kayıt ekleme, silme, güncelleme, listeleme ve hatta…

Nahit Ferhat Ektaş

.NET Full Stack Developer | .NET Core | Asp.Net Core | React js

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store