۱۳۹۴ فروردین ۱۱, سه‌شنبه

محبوب ترین ابزارهای تزریق وابستگی در پلتفرم دات نت کدامند؟

Ninject

Ninject با نزدیک به دو میلیون دانلود در Nuget.org محبوب ترین ابزار تزریق وابستگی شناخته شده برای برنامه های مبتنی بر دات نت است. در Github هم با حدود 1200 ستاره و 330 فورک، در صدر قرار دارد. با وجود افزونه هایی مثل Ninject.MVC3 (منسوخ شده) و Ninject.Web.Common که هر یک جداگانه و به ترتیب هشتصد و شصت هزار و نیم میلیون دانلود داشته اند، جایگاه خود را به عنوان اولین انتخاب برنامه نویسان دات نت تثبیت کرده است. تعداد افزونه های زیاد آن هم یک مزیت محسوب می شود. نزدیک به 30 افزونه رسمی برای کتابخانه های مختلف Ninject را به یک ابزار تزریق وابستگی همه فن حریف و همه جا حاضر تبدیل می کند. در عین حال از لحاظ سرعت، Ninject جزو تنبل ترین ابزارهای تزریق وابستگی شناخته شده در آزمون هاست و حرف و حدیث درباره آن زیاد است.

Microsoft Unity Application Block

که به اختصار با نام Unity هم شناخته می شود، با یک و نیم میلیون دانلود در Nuget.org، دومین ابزار تزریق وابستگی شناخته شده برای پلتفرم دات نت است. فقط افزونه Unity.Interception آن به تنهایی نزدیک به نیم میلیون دانلود داشته است. منبع اصلی آن بر روی خانه ی کم رونقش نزدیک به هزار و چهارصد هوادار دارد. برخی آزمون ها مدعی اند Unity نسبت به امکانات و شهرتش، بهبود زیادی در سرعتش داشته است.

Autofac

Autofac با نزدیک به یک میلیون دانلود در Nuget.org سومین ابزار تزریق وابستگی در پلتفرم دات نت است. شهرت اولیه این کتابخانه بخاطر سرعت آن در مقایسه با بقیه کتابخانه های تزریق وابستگی بوده، هرچند این موقعیت را از دست داده است.

Castle Windsor

Castle Windsor، از پروژه مشهور Castle با 530 هزار دانلود در nuget مقام بعدی را از آن خود کرده است. هرچند کتابخانه ی اصلی آن Castle.Core با بیش از یک میلیون دانلود، طرفداران زیادی بین برنامه نویسان پلتفرم دات نت دارد.

StructureMap

StructureMap با حدود 490 هزار دانلود از nuget و با فاصله بسیار کمی از Castle Windsor پنجمین کتابخانه تزریق وابستگی پلتفرم دات نت است و در آزمون های سرعت اخیر، در میان مشاهیر، بهترین گزینه شمار می رود.

در انتهای لیست پر طرفداران، Simple Injector با حدود 150 هزار دانلود قرار دارد. تعداد ابزارهای تزریق وابستگی برای پلتفرم دات نت بسیار زیاد است اما اکثر آن ها شناخته شده نیستند یا برای کاربردهای خاص در پلتفرم های خاص طراحی شده اند.

هیچ نظری موجود نیست: