کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

مقدمه ی IoC

مقدمه ی IoC

واژه های وارونگی کنترل ( IoC ) ، اصل تزریق وابستگی ( DIP) ، تزریق وابستگی (DI) و نگهدارنده های IoC ( IoC ) ممکن است برای تان آشنا باشند. اما آیا دقیقا معنی این واژه ها را می دانید؟


آموزش Inversion Of Control

در اینجا، شما هر یک از این واژه ها را به همراه مثال های ساده و واقعی خواهید آموخت تا بتوانید ابهامات خود را برطرف کنید. قبل از آنکه جلوتر بروید، مهم است که تفاوت میان اصل و الگو را یاد بگیرید.
حالا بیایید این واژه های مبهم را بهتر بشناسیم. این واژه ها، چه اصل باشند و چه الگو، شکل زیر می تواند ابهامات شما را برطرف کند.


آموزش Inversion Of Control

همانطور که در این شکل نشان داده شده است، IoC و DIP اصول سطح بالایی از طراحی هستند که در طراحی کلاس های برنامه کاربرد دارند. با توجه به اینکه این دو اصل هستند، تنها کاری که انجام می دهند این است که بهترین رویکردها را پیشنهاد می دهند اما وارد جزئیات پیاده سازی نمی شوند. تزریق وابستگی الگو و IoC container یک فریمورک است.
بیایید مروری بر جزئیات هر یک از آن ها داشته باشیم.


وارونگی کنترل

وارونگی کنترل یک اصل طراحی است که وارونگی انواع مختلفی از کنترل ها در طراحی شیء گرا را توصیه می کند تا بتوان بین کلاس های برنامه همراهی آزادانه را حاصل کرد. در اینجا کنترل به تمامی مسئولیت های اضافی یک کلاس به غیر از مسئولیت های اصلی آن گفته می شود، مانند کنترل جریان برنامه، کنترل ایجاد شیء وابسته و binding (اصل مسئولیت تک SRP را به خاطر آورید). اگر قصد انجام TDD (توسعه ی آزمایش محور) را دارید، باید از اصل وارونگی کنترل استفاده کنید، در غیر این صورت انجام این کار ممکن نیست. در فصل بعد، به طور مفصل به وارونگی کنترل خواهیم پرداخت.


اصل وارونگی وابستگی

این اصل نیز به دستیابی به همراهی آزادانه ی میان کلاس ها کمک می کند. اگر می خواهید که به همراهی آزادانه دست پیدا کنید، استفاده از DIP و IoC در کنار هم شدیدا توصیه می شود.
DIP پیشنهاد می کند که ماژول های سطح بالا نباید به ماژول های سطح پایین وابسته باشند. بلکه هر دو باید به انتزاع وابسته باشند.
اصل DIP توسط آقای رابرت مارتین (معروف به عمو باب) اختراع شده است. آقای رابرت بنیان گذار اصول SOLID است. در فصل DIP بیشتر به این موضوع خواهیم پرداخت.


تزریق وابستگی

تزریق وابستگی (DI) یک الگوی طراحی بوده که اصل IoC را پیاده سازی می کند تا ایجاد اشیاء وابسته وارونه شود. به این موضوع در فصل DI بیشتر خواهیم پرداخت.


IoC Container

IoC Container یا نگهدارنده ی IoC فریمورکی است که در مدیریت تزریق خودکار وابستگی در سراسر برنامه کاربرد دارد. به گونه ای که برنامه نویس مجبور به صرف زمان و تلاش بیشتر بر روی آن نباشد. IoC Container های متفاوتی برای .NET وجود دارند، مانند Unity, Ninject, StructureMap, Autofac و غیره. در فصل IoC Container بیشتر به این موضوع خواهیم پرداخت.
تنها با استفاده از IoC نمی توان کلاس ها را به همراهی آزادانه رساند. در کنار IoC به DIP ، DI و IoC Container نیز نیاز داریم. در شکل زیر نشان داده شده است که ما چگونه می خواهیم در فصل های بعد به صورت گام به گام به طراحی با همراهی آزادانه برسیم.


آموزش Inversion Of Control

کار یادگیری هر یک از مراحل بالا را در فصل بعد با IoC آغاز می کنیم.


برای مطالعه سرفصل اصول و الگوهای طراحی شی گرا - Object Oriented Design Principles & Patterns کلیک نمایید .

1397/07/15 3755 862
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...