آموزش اصل Inversion of Control در برنامه نویسی #20 قسمت بیستم از یک سری آموزشی از وبسایت پرووید است که در رابطه با اصل Inversion of Control تنظیم شده است. پس از این دوره ی آموزشی می توانید از بسته های آموزشی وبسایت پرووید در رابطه با Inversion of Control را استفاده کنید.

در قسمت قبلی از این آموزش در مورد روش تزریق از طریق تابع سازنده (Constructor Injection) صحبت کردیم.

روش تزریق از طریق پروپرتی (Property Injection)

در این روش Dependency از طریق یک Property به درون کلاس تزریق می شود. لطفاً کد زیر را در نظر بگیرید.

public class CustomerBusinessLogic
{
    public CustomerBusinessLogic()
    {
    }

    public string GetCustomerName(int id)
    {
        return DataAccess.GetCustomerName(id);
    }

    public ICustomerDataAccess DataAccess { get; set; }
}

public class CustomerService
{
    CustomerBusinessLogic _customerBL;

    public CustomerService()
    {
        _customerBL = new CustomerBusinessLogic();
        _customerBL.DataAccess = new CustomerDataAccess();
    }

    public string GetCustomerName(int id) {
        return _customerBL.GetCustomerName(id);
    }
}

بسته ی جامع آموزش Inversion of Control و IoC Container ها

از شما دعوت می کنیم که از بسته ی جامع آموزش Inversion of Control و IoC Container ها دیدن کنید.

همانطور که در کد بالا مشاهده می کنید کلاس CustomerBusinessLogic حاوی یک پروپرتی به نام DataAccess است که در درون آن میتوانید یک شی از نوع ICustomerDataAcces را قرار دهید. بنابراین CustomerService وظیفه ساختن یک شی از این اینترفیس برای مثال CustomerDataAcces را دارد و سپس این شی را در درون پروپرتی DataAccess از کلاس CustomerBusinessLogic قرار می ‌دهد.

در قسمت بعدی از این آموزش در مورد تزریق از طریق متد (Method Injection) صحبت خواهیم کرد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *