Dependency Injection در MVC

Dependency Injection در MVC

Dependency Injection در MVC

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

 

تزریق وابستگی (DI) وابستگی بین کلاس ها را کاهش داده و پیاده‌سازی‌های پیوسته و انتزاعی (abstraction) را به بیرون از کلاس وابسته منتقل می‌کند و توسعه دهندگان را قادر می سازد تا تغییرات  و پیچیدگی های کدهای نرم افزار که در آینده به وجود می آیند را بهتر مدیریت کنند، بنابراین در نگهداری برنامه به ما کمک می کند. همچنین می تواند با تزریق سازنده (constructor injection)، تزریق تنظیم کننده (setter injection) و تکنیک های تزریق مبنی بر Interface (interface-based injection) انجام شود.

 

در این آموزش نحوه تزریق وابستگی ها با استفاده از Ninject به همراه پیاده سازی یک نمونه در Asp.Net MVC را بررسی خواهیم کرد .

لطفا سوالات خود را راجع به این آموزش در این بخش پرسش و پاسخ مطرح کنید به سوالات در قسمت نظرات پاسخ داده نخواهد شد .

مدت زمان دوره: 00:37:00
راهنما! برای دانلود با دانلود منیجر(IDM) بر روی این لینک کلیک کنید.

در این آموزش نحوه پیاده سازی تزریق وابستگی ها در MVC توسط Ninject را بررسی خواهیم کرد .

برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.

mtrxsrvr ارسال شده در چهار شنبه ۱۴ آذر ۱۳۹۷

جناب آقای مدائنی عزیز دستتون درد نکنه و خسته هم نباشید، این آموزش ها و معرفی Design Pattern هاتون خیلی عالی و پر محتوا هستن. کمال تشکر رو از بابت این تلاش های بی دریغ شما دارم. راستش من مدتی بود که بیکار شده بودم و سطح برنامه نویسی هم که انجام میدادم قدیمی و دیگه مناسب بازار جدید نبود. اما به لطف آموزشهای شما الان در یک شرکت مشغول شدم و از کمکهای حضرتعالی بسیار ممنون هستم.

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

پاینده و پیروز باشید.

mehdialamshahi ارسال شده در یک شنبه ۲۷ آبان ۱۳۹۷

سلام استاد عزیز

درصورتی که دوره برای پرسنل یک شرکت(توسط آن شرکت)خریداری بشه

لطفا نظرتون رو در خصوص استفاده تیم نرم افزاری (چند نفر )اون شرکت از دوره آموزشی در داخل شرکت بفرمایید.

ایمان مدائنی ارسال شده در یک شنبه ۲۷ آبان ۱۳۹۷

این دوره رایگان است و مشکلی نداره دوست من 

mehdialamshahi ارسال شده در یک شنبه ۲۷ آبان ۱۳۹۷

ممنونم از شما

برای دوره های خریدنی پرسش انجام شده

ایمان مدائنی ارسال شده در یک شنبه ۲۷ آبان ۱۳۹۷

در تماس با ما مطرح کنید 

محمدرضا خلیل زاده ارسال شده در جمعه ۲۲ تیر ۱۳۹۷

سلام .

خیلی ممنون بابت این آموزش ، فقط چند مورد را باید بگم :

1 . وقتی آموزش با KMPlayer باز میکنم و وسط آموزش برای دیدن مجدد چند لحظه قبل به عقب برمیگردم cpu سیستم میچسبه به طاق ، البته تو بعضی ویدیو ها من جمله همین و دوره ی c# ، بعضی عالی و بعضی به این شکل ، چون تو آموزش تصویری گاها لازم به عقب برگدیم و موردی رو مجدد مشاهده کنیم .

2 . همین آموزش یه صدایی همراه صدای شما به گوش میرسه که آموزش به این زیبایی رو کیفیتش اورده پایین ، یادم میاد یکی از آموزش ها مدام صدای plug و unplug وسیله سخت افزاری که به USB وصل میشه میامد ، خود من چندین مرتبه اتصال Mouse و CoolPad خودم چک کردم و آخر دیدم از ویدیو شماس و یه صدایی که صدای Noise تلفن همراه می باشد بار ها در آموزش شنیده میشه .

 

البته امیدوارم ناراحت نشده باشین ، من از طرفدارای شما هستم که آمورش های شما را با دقت زیاد گوش میدهم و بار ها تمرین میکنم .

 

با تشکر فراوان .

ایمان مدائنی ارسال شده در شنبه ۲۳ تیر ۱۳۹۷

سلام

ممنون طلاع دادید

حتما این موضوع را بررسی خواهیم کرد .

PooyanBehroozfar ارسال شده در سه شنبه ۱۹ تیر ۱۳۹۷

سلام. آیا IOC در پروژه های کوچکتر که کلاس های کمتری دارند استفاده میشه یا فقط مناسب پروژه های با تعداد کلاس بالا هست؟

ایمان مدائنی ارسال شده در سه شنبه ۱۹ تیر ۱۳۹۷

سلام 

در همه شرایط مناسب است

shmahdi ارسال شده در شنبه ۲ تیر ۱۳۹۷

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

در پروژه های واقعی و مخصوصا بزرگ لایه ی Ico را چگونه باید پیاده سازی کنیم و ارتباطش با IUnitOfWork به چه صورته؟

اصلا  چه نیازی به پیاده سازی IUnitOfWork هست ، وقتی ما سرویس های مربوط به هر مدل را هنگام استفاده در سازنده های کنترلر ها Inject می کنیم؟

ایمان مدائنی ارسال شده در شنبه ۲ تیر ۱۳۹۷

سلام 

خود من برای UOW از interface استفاده نمیکنم و لایه IOC رو با ninject کار میکنم 

MehdiYardiar ارسال شده در جمعه ۱ تیر ۱۳۹۷

سلام خدمت استاد گرامی آقای مدائنی

یه عرضی داشتم استاد و اون اینکه به صورت همزمان چه طوری باید از الگوی UnitOfWork و IoC در پروژه استفاده کنیم؟

ایمان مدائنی ارسال شده در جمعه ۱ تیر ۱۳۹۷

سلام 

تنها کافیست در ioc شما uow را inject کنید

salehi ارسال شده در چهار شنبه ۲۶ اردیبهشت ۱۳۹۷

سلام،

اموزش خوب و جالبی بود.

در خصوص لایه بندی پروژه و ابزارهای مفید برای آن اموزش بگذارید.

با تشکر

 

sammir ارسال شده در سه شنبه ۱۱ اردیبهشت ۱۳۹۷

با عرض سلام و درود خدمت استاد مدائنی دوست داشتنی و گرامی

از آموزش بسیار کارامد و عالی شما کمال تشکر را دارم.

پیروز و مانا باشید

Ali_Esmaeilzadeh ارسال شده در جمعه ۳۱ فروردین ۱۳۹۷

سلام 

نحوه آموزشتون خیلی خوبه . اگه امکانش هست آموزش های MVC Core 2 را هم برامون آپلود کنید. ممنون

فرهاد زمانی ارسال شده در جمعه ۱۷ فروردین ۱۳۹۷

سلام 

واقعا اموزشتون عالیه دستتون درد نکنه

د ارسال شده در پنج شنبه ۹ فروردین ۱۳۹۷

سلام جناب مدائنی.
من از Ninject در پروژهای چند لایه استفاده میکنم و خطا بهم میده. میتونید راه نمایی کنید که دقیقا باید چه تغییراتی در کد بدم.؟

با تشکر

soheil91141121 ارسال شده در دو شنبه ۲۱ اسفند ۱۳۹۶

کیفیت صدای ویدیو بسیار پایینه

ایمان مدائنی ارسال شده در دو شنبه ۲۱ اسفند ۱۳۹۶

در آموزش های بعدی حتما این موضوع رو درست میکنیم

amir124 ارسال شده در یک شنبه ۲۰ اسفند ۱۳۹۶

ویدئو خرابه

RBarzegar ارسال شده در یک شنبه ۲۰ اسفند ۱۳۹۶

سلام..فایل فیلم بنظر دچار مشکله با چندتا پلیر اجرا کردم جز چند دقیقه اول، بقیه دقایق صدا هست ولی تصویر متوقف شده .. لطفا بررسی کنین

ایمان مدائنی ارسال شده در یک شنبه ۲۰ اسفند ۱۳۹۶


سلام

بررسی کردم مشکلی نداشت

با KmPlayer اجرا کنید