Flutter Clean Architecture (3)

emintolgahanpolat
2 min readFeb 19, 2023

--

Dependency Injection

Bu konu kolay olduğu kadar anlaşılması zor olabiliyor, basit düşünmeniz anlamanız kolaylaştıracaktır.

Dependency injection yönteminin flutter da kullanımına örnek göstermek için yazıyorum açıklamaları sade tutacağım için daha detaylı yazılara incelemeniz için link vereceğim.

Buraya tıklayarak ilgili yazının tamamını okumanızı tavsiye ederim. Özetleyecek olursak Dependency injection SOLID prensiplerinden Dependency Inversion prensibinin uygulama yöntemlerinden biri diyebiliriz.

Neden kullanıyoruz

Koddaki bağımlılıkların yönetilmesi kodun test edilebilirliğine kolaylaştırıyor. Okunabilirliğini artırmanın yanı sıra kod tekrarından bizi koruyor.

Nasıl uygularız

Constructor Injection : en sık kullanılan yöntemdir

Yukarıda kodda gözüktüğü gibi bağımlı olduğu sınıfı Constructor dan enjekte edilmiş.

Setter Injection :Bağımlılığı fonksiyon üzerinden enjekte edersek Setter Injection oluyor.

Interface Injection: Bağımlılığı interface tarafından enjekte edilmesi istenirse Interface Injection oluyor.

Bu örnek güzel olmasada konuyu açıklamak için ideal olduğunu düşünüyorum. CrudRepository sınıfını kullanan sınıfların db connection’ı bağımlılığını kullanması gerekiyor.

Nasıl test edebiliriz

Aşağıda flutterda yazılmış test örneğini görebilirsiniz.

Sonraki yazımızda projemizde Provider, get_it kullanacağız.

--

--