آموزش معماری نرم‌افزار: تزریق وابستگی برای توسعه‌دهندگان سی‌شارپ - آخرین آپدیت

دانلود Software Architecture: Dependency Injection for C# Devs

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

آموزش جامع تزریق وابستگی (Dependency Injection) با استفاده از IoC-Containers

این دوره، دانش و مهارت شما را در معماری نرم‌افزار و به‌کارگیری تزریق وابستگی با استفاده از IoC-Containers به طور قابل توجهی ارتقاء می‌دهد. مفاهیم کلیدی تزریق وابستگی و کنترل وارونه (Inversion of Control) را به طور عمیق درک خواهید کرد و اصل وارونگی وابستگی (DIP) را در عمل پیاده‌سازی خواهید نمود.

در این دوره یاد خواهید گرفت:

  • تکنیک‌های تزریق وابستگی: انواع تزریق وابستگی، ساخت یک IoC-Container ساده، استفاده از IoC-Containers موجود (مانند Unity, Autofac و Castle.Windsor).
  • معماری نرم‌افزار با تزریق وابستگی: بهبود معماری کد با استفاده از DI و درک تأثیر آن بر ساختار پروژه.
  • اصل وارونگی وابستگی (DIP): کاربرد عملی DIP و چگونگی پیاده‌سازی آن.
  • IoC-Containers (DI-Containers): درک مفهوم IoC-Containers، پیکربندی و استفاده از آنها.
  • Refactoring با تزریق وابستگی: بازنویسی کد موجود با استفاده از تزریق وابستگی برای بهبود معماری و خوانایی.
  • آشنایی با تست واحد (Unit Testing): مقدمه‌ای بر تست واحد و نحوه نگارش تست‌های واحد مؤثر.
  • برنامه‌نویسی مبتنی بر جنبه‌ها (AOP): آشنایی با تکنیک‌های AOP و کاربرد آن در تزریق وابستگی.
  • آنتی‌پترن‌های مرتبط با DI و Refactoring: شناسایی و رفع مشکلات رایج در پیاده‌سازی DI.

مخاطبان دوره:

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

پیش نیازها:

آشنایی اولیه با زبان برنامه‌نویسی C#

چرا این دوره را انتخاب کنید؟

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

کلمات کلیدی: تزریق وابستگی، Dependency Injection، DI، IoC، Inversion of Control، کنترل وارونه، IoC-Container، DI-Container، معماری نرم‌افزار، اصل وارونگی وابستگی، DIP، Dependency Inversion Principle، Unity، Autofac، Castle.Windsor، تست واحد، Unit Testing، AOP، Aspect-Oriented Programming، برنامه‌نویسی مبتنی بر جنبه‌ها، C#


سرفصل ها و درس ها

قبل از شروع دوره Before taking the Course

  • چگونه سوال بپرسیم How to Ask Questions

  • مقدمه‌ای بر تست واحد Introduction to Unit Testing

  • دانلود سورس کد و اسلایدها Download Source Code and Slides

  • زیرنویس انگلیسی English Subtitles

  • عضویت در جامعه دانشجویی .NET Join .NET Community of Students

اصل وارونگی وابستگی و تزریق وابستگی Dependency Inversion Principle and Dependency Injection

  • چکیده Outline

  • تعریف DIP Definition of DIP

  • وابستگی‌ها Dependencies

  • وابستگی‌های ناپایدار و پایدار Volatile and Stable Dependencies

  • تعاریف IoC و DI Definitions of IoC and DI

  • نمونه‌ای از نقض DIP DIP Violation Demo

  • بازسازی به سوی طراحی بهتر با استفاده از تزریق وابستگی Refactoring to a Better Design Applying Dependency Injection

  • تکنیک‌های تزریق وابستگی Dependency Injection Techniques

  • پیامدهای معماری Architectural Implications

  • رایحه‌های رایج نقض DIP Common Smells of DIP Violation

  • نتیجه‌گیری Conclusion

مقدمه‌ای بر IoC-Containers (یا DI-Containers) Introduction to IoC-Containers (or DI-Containers)

  • چکیده Outline

  • DI خالص و IoC-Containers Pure DI and IoC-Containers

  • ساخت یک IoC-Container ساده Building a Simple IoC-Container

  • الگوی طراحی Service Locator Service Locator Design Pattern

  • دمو با یک IoC-Container Demo With an IoC-Container

  • نتیجه‌گیری Conclusion

ضد الگوها و بازسازی‌های مرتبط با تزریق وابستگی Dependency Injection - Related Anti-Patterns & Refactorings

  • چکیده Outline

  • کنترل‌گر وسواسی Control Freak

  • وابستگی‌های پنهان با Service Locator Hidden Dependencies with Service Locator

  • کوپلینگ زمانی و تزریق سازنده Temporal Coupling and Constructor Injection

  • تزریق بیش از حد سازنده Constructor Over-Injection

  • زمینه محیطی (Ambient Context) Ambient Context

  • سرویس نمای (Facade Service) Facade Service

  • تزریق ویژگی در مقابل تزریق نامشروع Property Injection VS Bastard Injection

  • وابستگی‌های دوره‌ای Cyclic Dependencies

  • نتیجه‌گیری Conclusion

مثال واقعی تزریق وابستگی Dependency Injection Real-World Example

  • چکیده Outline

  • نمای کلی برنامه Application Overview

  • دسترسی به داده و مدل‌ها Data Access and Models

  • سمت UI UI-Side

  • مشکل کوپلینگ محکم The Problem of Tight Coupling

  • فرآیند بازسازی Refactoring Process

  • جداسازی بوت‌استراپر Isolating the Bootstrapper

  • پیامدها Consequences

  • نتیجه‌گیری Conclusion

برداشت ثمرات DI Reaping the Fruits of DI

  • چکیده Outline

  • افزودن DAL جدید Adding New DAL

  • نوشتن تست‌های واحد برای View Models Writing Unit Tests for View Models

  • نتیجه‌گیری Conclusion

DI-Containers (چارچوب‌های IoC) DI-Containers (IoC-Frameworks)

  • چکیده Outline

  • نمای کلی DI-Containers Overview of DI-Containers

  • چارچوب Unity DI Unity DI-Framework

  • پیوند دیرهنگام با Unity Late Binding with Unity

  • برنامه‌نویسی جنبه‌گرا (AOP) Aspect-Oriented Programming (AOP)

  • نمایش مشکل کدهای تکراری Demonstration of the Problem of Boilerplate Code

  • پیاده‌سازی AOP با رهگیری Implementing AOP by Intercepting

  • رهگیری در مقابل DI خالص در مقابل ابزارهای AOP Interception vs Pure DI vs AOP Tooling

  • Autofac و Castle.Windsor DI-Containers Autofac and Castle.Windsor DI-Containers

  • مشکلات مربوط به DI-Containers Problems Related to DI-Containers

  • نتیجه‌گیری Conclusion

  • درس پاداش BONUS Lecture

ضمیمه. مقدمه‌ای بر تست واحد. شروع کار Appendix. Intro to Unit Testing. Getting Started

  • چکیده Outline

  • تست واحد چیست؟ What is a Unit Test

  • چارچوب‌های تست واحد Unit Testing Frameworks

  • اولین تست واحد شما Your First Unit Test

  • قراردادهای نام‌گذاری Naming Conventions

  • اجرا و اشکال‌زدایی تست‌های واحد Running and Debugging Unit Tests

  • مزایای تست‌های واحد Benefits of Unit Tests

  • چه کسی باید تست‌های واحد را بنویسد و چه زمانی؟ Who Should Write Unit Tests and When

  • سوگند برنامه‌نویس Programmer's Oath

  • تمرین: مبدل درجه Exercise: Degree Converter

  • حل تمرین: مبدل درجه Solution: Degree Converter

  • نتیجه‌گیری Conclusion

ضمیمه. مقدمه‌ای بر تست واحد. چارچوب NUnit Appendix. Intro to Unit Testing. NUnit Framework

  • چکیده Outline

  • مقدمه‌ای بر Assert Assert Intro

  • دموی Assert Assert Demo

  • Arrange-Act-Assert Arrange-Act-Assert

  • اجرای تست‌ها از کنسول Running Tests from the Console

  • SetUp و TearDown SetUp and TearDown

  • OneTimeSetUp و OneTimeTearDown OneTimeSetUp and OneTimeTearDown

  • تست‌های واحد پارامتری Parameterized Unit Tests

  • گروه بندی و نادیده گرفتن تست‌های واحد Grouping and Ignoring Unit Tests

  • پوشش کد Code Coverage

  • تمرین: FizzBuzz Exercise: FizzBuzz

  • حل تمرین: FizzBuzz Solution: FizzBuzz

  • تمرین: تجزیه اعداد رومی Exercise: Parsing Roman Numerals

  • حل تمرین: تجزیه اعداد رومی Solution: Parsing Roman Numerals

  • تمرین: Stack Exercise: Stack

  • حل تمرین: Stack Solution: Stack

  • نتیجه‌گیری Conclusion

نمایش نظرات

آموزش معماری نرم‌افزار: تزریق وابستگی برای توسعه‌دهندگان سی‌شارپ
جزییات دوره
5.5 hours
86
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
6,035
4.1 از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Engineer Spock Engineer Spock

مهندس نرم افزار - بیش از 1000 نقد، میانگین امتیاز - 4.5