Skip to main content

Command Palette

Search for a command to run...

Python'da Dependency Injection ile Inversion of Control Tasarımının Uygulanması

Published
1 min read
C

I am a senior software developer with over 18 years of experience. My areas of expertise include software modernization, integration solutions, and cloud transformation projects. This includes designing cloud-based and on-premises microservices, as well as event-driven architectures, and developing secure, scalable infrastructure. Alongside technical skills and competencies, I excel in problem-solving, effective communication, mentoring, and time management. Experienced in the following domains: E-Commerce ( Search, Basket, Onboarding, Backoffice, Product Management, Delivery ), Hospital Automation(Registration, Insurance inquiry, Laboratory tests, Medical history tracking, Billing, Provision, Medical device integration), Hotel Booking Platforms(B2C & B2B, Payment system integration), Fulfillment, Live Auction Systems, Job and Help Desk Applications.

Birçok modern yazılım geliştirme çerçevesi, kodun daha düzgün, test edilebilir ve yönetilebilir olması için Inversion of Control (IoC) tasarım desenini kullanır. IoC'nin en popüler biçimlerinden biri, Dependency Injection (DI) yöntemidir. Bu yazıda, Python'da bir IoC konteyneri oluşturmak için nasıl bir DI sistemini uygulayabileceğimizi göreceğiz.

İlk olarak, aşağıdaki yapıları oluşturacağız:

  • Scope: Kaydın ömrünü kontrol etmek için kullanılır.

  • ContainerEntry: Konteynere kaydedilen bir sınıfın bilgilerini saklar.

  • Container: Sınıfların örneklerini oluşturur ve saklar.

  • ContainerBuilder: Container nesnesini oluşturur ve yapılandırır.

  • inject ve resolve dekoratörleri: Bağımlılıkları çözmek için kullanılır.

  • Module: Konteynere bir grup kayıt eklemek için kullanılır.

Aşağıda, bu yapıların nasıl oluşturulacağını ve kullanılacağını gösteren Python kodları bulunmaktadır:

Kaynak kodlar: PyIoC Repository