معرفی Unity Container

در این قسمت در رابطه با Unity Container به عنوان یک فریمورک DI Container که در برنامه‌های .NET مورد استفاده قرار می گیرد و توسط مایکروسافت پشتیبانی می‌شود صحبت خواهیم کرد. Unity یک IoC Container سبک وزن و قابل گسترش است. کد مربوط به این فریمورک را میتوانید از لینک https://github.com/unitycontainer/unity دریافت کنید.

در این فریمورک قابلیت های زیادی وجود دارد که در رابطه با آنها در قسمت زیر به صورت تیتروار صحبت خواهیم کرد. روند ساده ی رجیستر کردن تایپ ها و اینترفیس های مختلف با استفاده از Type Mapping.

پشتیبانی کردند از روند Register کردن یک آبجکت از قبل موجود.

  • پشتیبانی از Code-Base Registration و یا Register کردن مبتنی بر کد و همچنین Design Time Register و یا Register کردن در زمان طراحی.
  • تزریق خودکار تایپ های رجیستر شده در زمان Run Time از طریق روش‌های تزریق با تابع سازنده و یا Property و یا Method.
  • پشتیبانی کردن از Deferred Resolution.
  • پشتیبانی کردن از Container های تودرتو و یا اصطلاحاً Nested Container ها. خارج شدن اشیا و یا Dispose شدن آنها به صورت خودکار بر اساس Life-Time آنها.
  • مدیر Life-Time و یا Life-Time Manager موجود در Unity از الگوهایی از قبیل Hierarchical و Per Resolve و Externally Controlled و Per Request و Per thread استفاده می‌کند.
  • پشتیبانی کردن از قابلیت Service Location که به Client ها اجازه می دهد تا Container را ذخیره و یا Cache کنند.
  • پشتیبانی از مفاهیم تایپ Type Interception و .Instance Interception
  • قابل گسترش بودن.

قبل از شروع به کار با فریمورک IoC Container مربوط به مایکروسافت با نام Unity بهتر است که نحوه نصب کردن آن را ببینیم.


پرووید: مرکز آموزش تخصصی برنامه نویسی و توسعه نرم افزار