شماره تماس 09336863931 | 09178169907 پست الکترونیک provid.ir@gmail.com

آموزش اصل Inversion of Control در برنامه نویسی #21

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

تزریق از طریق متد (Method Injection)

در این روش Dependency ها از طریق تعدادی متد در درون کلاس وابسته تزریق می‌ شوند. این متد می‌تواند متدی از خود کلاس وابسته یا متدی از درون یک اینترفیس باشد. کد زیر نحوه انجام این کار را به نمایش می گذارد.

interface IDataAccessDependency
{
    void SetDependency(ICustomerDataAccess customerDataAccess);
}

public class CustomerBusinessLogic : IDataAccessDependency
{
    ICustomerDataAccess _dataAccess;

    public CustomerBusinessLogic()
    {
    }

    public string GetCustomerName(int id)
    {
        return _dataAccess.GetCustomerName(id);
    }
        
    public void SetDependency(ICustomerDataAccess customerDataAccess)
    {
        _dataAccess = customerDataAccess;
    }
}

public class CustomerService
{
    CustomerBusinessLogic _customerBL;

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

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

در کد بالا کلاس CustomerBusinessLogic یک اینترفیس به نام IDataAccessDependency را پیاده سازی می کند. این اینترفیس حاوی یک متد به اسم DepEndency است. کلاس Injector یعنی همان CustomerService از این متد و این اینترفیس برای تزریق کردن یک شی از ICustomerDataAcces به درون کلاس CustomerBusinessLogic استفاده می‌کند.

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

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

خب تا اینجا ما توانستیم با استفاده از دو الگوی طراحی Dependency Injection و Strategy به یک طراحی شی گرای Loosely Coupled برسیم. در پروژه های واقعی اغلب این دو الگوی طراحی به صورت دستی پیاده سازی نمی شوند چرا که پیاده سازی دستی آنها بسیار زمان ‌بر است. از همین جهت از فریم ورک هایی تحت عنوان IoC Container استفاده می ‌شود. در این قسمت توصیه می‌کنیم برای آموزش کامل IoC Container ها به بسته ی جامع آموزش Inversion of Control از وبسایت پرووید رجوع کرده و از آن استفاده کنید.

در پایان قصد داریم از شما تشکر کنیم که از ابتدا تا پایان این آموزش با وب سایت همراه بودید. امیدواریم که این آموزش شبیه دیگر آموزش های وب سایت پرووید مورد توجه شما قرار گرفته باشد.

نظر بدهید

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