ably ably برای هدایت شدن به سایت جدید اینجا کلیک کنید

آموزش برنامه نویسی

آموزش برنامه نویسی وب، اندروید، ویندوز , اسکیوال و...
Tell: 0912 097 5516
| Email: Hello@EduOnline.ir

بررسی Unity, Castle Windsor, StructureMap و Ninject

بسم الله الرحمن الرحیم

بررسی Unity, Castle Windsor, StructureMap  و Ninject

یک مقایسه سریع بر روی چهار DI و IoC داشتم و ابزارهای Unity, Castle Windsor, StructureMap  و Ninject را با دو سناریو متفاوت بررسی شدند.

در یکی از سناریوها ایجاد اشیا بدون سازنده و در سناریو دیگر اشیا با پارامترهای تزریق شده در سازنده شان بررسی شدند.در ابتدا قبل از هر چیزی سعی کردم مطئن شویم که در زمان فراخوانی متدها اشیا ایجاد شوند. نتیجه ایجاد اشیا به وسیله سازنده پیش فرض به صورت زیر است.

StructureMap


در دوم من پارامترهای سازنده ها را به وسیله DI/IoC به آنها تزریق کردم. زمان ها کمی تغییر کرد اما جایگاه این 4 ابزار تغییری نکرد.

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

در نهایت مقایسه دو تست صورت گرفته به صورت زیر است.

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

StructureMap

StructureMap بهترین ابزاری است که می توانید درNET. می توانید از آن استفاده کنید. Unity  و  Castle Windsorنیز نتایج خوبی داشتند هر چند Unity در سناریوهای پیچیده سریعتر کار می کند. Ninject خیلی کند است هر چند از lightweight code generation (LCG) یا کد سبک استفاده می کند.

آموزش Ninject را نیز قبلا معرفی کرده ایم.

در حال حاضر فکر می کنم کار با StructureMap بسیار خوب است زیرا می توان به سادگی آن را یاد گرفت و از آن استفاده کرد. همچنین می تواند به خوبی از fluent API استفاده کند. امیدواریم در نسخه های بعدی ابزارهای معرفی شده نیز بهتر شوند.



نظرات (۲)

شما در مقایسه ای که انجام دادین ninject نمره بهتری گرفته.
پس چطور می فرمایید StructureMap  بهتره؟
پاسخ:
با عرض سلام
اعداد مشخص شده مدت زمانی است که هر ابزار برای انجام کار نیاز دارد ، بنابراین Ninject مدت زمان بیشتری را از ما برای انجام کار خواهد گرفت پس نسبت به بقیه ابزار ها کند تر است

موفق باشید
ممنون استاد بزرگوار.
من در asp mvc از ninject استفاده می کنم و به روز inject و یا
 private readonly IService _service;

        public AboutController(IService productService)
        {
            _service =Service;
        }

چون در  پروژه های خود از claslibrary های service , layer , model , view model استفاده می کنم.
توصیه شما این که من از StructureMap  استفاده کنم؟
اگه اینطوره آموزشی ندارین در باره StructureMap ؟
پاسخ:
با عرض سلام
در حال حاضر که آموزشی برای StructureMap در وب سایت قرار داده نشده است اما حتما مطلب کاملی را نیز در زمینه Ioc ها بر روی وب سایت قرار خواهیم داد.
یاعلی
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی
up
ما را در گوگل محبوب کنید