قیمت این دوره : 200,000 تومان
  • مدرس دوره : سجاد باقرزاده ( رزومه )
  • تعداد دانشجویان این دوره : 66 نفر
  • تعداد ویدیوها : 30 ویدیو
  • مدت زمان دوره : 10:4:00
  • سطح دوره : پیشرفته
  • وضعیت دوره : در حال برگزاری
  • تاریخ ثبت دوره : 1398/10/01
  • تاریخ آخرین بروزرسانی : 1399/03/08
ثبتـــ نام در این دوره

آموزش دیزاین پترن ها (Design Pattern) در سی شارپ

 

خلاصه و مرور اجمالی دوره

در این دوره به  یک نمای اجمالی و وسیع و جامع  از الگوهای طراحی (دیزاین پترن ها) در سی شارپ و دات نت از رویکرد و نظر عملی میپردازیم  .

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

پرداختن به بحث در مورد تفاوت الگوها و انواع رویکرد های جایگزین (روش های جایگزین)

در این دوره مروری کلی بر کلیه الگوهای GoF یا همان گروه چهار نفره خواهیم داشت همانطور که در کتاب اصلی آن ها این الگوها وجود دارد البته همراه با تغییرات روز و اصلاحات انجام گرفته و بحث در مورد استفاده از الگوها در زبان سی شارپ.

 

چه چیزی یاد خواهید گرفت :

            ·        شناختن دیزاین پترن ها (الگوهای طراحی) و استفاده کردن از  آن ها 

            ·        دلیل به کار گرفتن دیزاین پترن ها و کاربرد پذیری  آن ها

            ·        اصلاح طرح های موجود با دیزاین پترن ها

 

پیش نیاز های دوره :

            ·        درک خوبی از زبان سی شارپ

            ·        آشنایی با اخرین ویژگی های سی شارپ

            ·        درک خوب و آشنایی با اصول طراحی شی گرا

 

تاریخچه الگوهای طراحی :

دیزاین پترن ها در سال 1994 همراه با کتاب Design Patterns: Elements of Reusable Object-Oriented Software که به دست Erich Gamma و John Vlissides و Ralph Johnson و Richard Helm که به گروه چهار نفره (GoF – Gang of Four) مشهور هستند ، معروف شدند.

 

دیزاین پترن ( الگوی طرحی ) چیست ؟

1 - دیزاین پترن ها راه حل های رایج و قابل استفاده برای مشکلات  رایج در طراحی نرم افزار هستند.

2 - دیزاین پترن ها راه کارهایی بهینه و با قابلیت استفاده مجدد برای مشکلات برنامه نویسی هستند.

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

دیزاین پترن ها به خودی خود مشکلات رو حل نمیکنند بلکه ابزار مناسبی هستن که به ما در حل مشکلات در برنامه نویسی کمک میکنند .

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

در این دوره ما همه ی دیزاین پترن های GoF رو پوشش میدیم این دیزاین پترن ها به 3 دسته اصلی تقسیم بندی میشوند.

    SOLID Design Principles: Single Responsibility Principle, Open-Closed Principle, Liskov Substitution Principle, Interface Segregation Principle and Dependency Inversion Principle

   1- Creational Design Patterns: Builder, Factories (Factory Method and Abstract Factory), Prototype and Singleton

    2-Structrural Design Patterns: Adapter, Bridge, Composite, Decorator, Façade, Flyweight and Proxy

    3-Behavioral Design Patterns: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Null Object, Observer, State, Strategy, Template Method and Visitor

 

این دوره مناسب توسعه دهندگان سی شارپی هست که نمیخوان فقط یک مثال از کتاب های درسی را ببینند اما میخواهند انواع مختلف و ترفند های مدرن رو ببینند

 

 

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

   افراد مبتدی و افراد باتجربه

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

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

فهرستـــ ویدیوها

مدت زمان دوره 10:04:00
راهنما ! جهت دانلود فایل ها با دانلود منیجر ( IDM ) بر روی این لینک کلیک کنید.
1
  • معرفی دوره الگوهای طراحی

  • 00:15:00
  • رایگانــ

در این بخش توضیحاتی درباره دوره، علت استفاده ما از الگوهای طراحی (Design Pattern) ها، تاریخچه، سرفصل ها و پیش نیاز ها مورد بحث قرار خواهد گرفت.

2
  • اصل تک وظیفه ای (Single Responsibility Principle)

  • 00:27:00
  • رایگانــ

در این بخش به اصل اول SOLID در برنامه نویسی شیء گرا پرداخته می شود و با ذکر مثال Single Responsibility Principle یا به اختصار SRP توضیح داده خواهد شد.

3
  • اصل باز - بسته (Open-Close Principle)

  • 00:48:00
  • رایگانــ

در این بخش به اصل دوم SOLID در برنامه نویسی شیء گرا پرداخته می شود و با ذکر دو مثال Open-Close Principle یا به اختصار OCP توضیح داده خواهد شد.

4
  • اصل جایگزینی لیسکوف (Liskov Substitution Principle)

  • 00:33:00
  • رایگانــ

در اصل جایگزینی لیسکوف گفته میشود: زیرکلاس ها باید با کلاس های پایه قابل جایگزینی و تعویض باشند و من قصد دارم این موضوع را به صورت کامل توضیح دهم و دو مثال برای آن پیاده سازی کنم.

5
  • اصل تفکیک رابط (Interface Segregation Principle)

  • 00:21:00
  • رایگانــ

در این اصل گفته می شود: برنامه نویس نباید مجبور به استفاده از متدهایی باشند که به آنها نیاز ندارد. این اصل با اختصار ISP نیز شناخته می شود.

6
  • اصل وارانگی وابستگی (Dependency Inversion Principle)

  • 00:25:00
  • رایگانــ

این اصل شامل دو قانون اصلی می شود: یک - ماژول های سطح بالا نباید به ماژول های سطح پایین وابسته باشند و هر دو میبایست به یک انتزاع (abstraction) وصل باشند. دوم - انتزاع ها نباید به جزئیات وابسته باشند ولی جزئیات می بایست به انتزاع ها وابسته باشند.

7
  • معرفی الگوی Builder

  • 00:10:00
  • رایگانــ

در این بخش با کمک یک فایل پاورپویت به توضیحات کلی درباره الگوی Builder خواهیم پرداخت.

8
  • کدهایی بدون Builder (بخش اول)

  • 00:08:00
  • نقدیــ

در این بخش مسئله ای را مطرح میکنیم و آن را بدون کمک از الگوی Builder پیاده سازی میکنیم.

9
  • استفاده از الگوی Builder (بخش دوم)

  • 00:20:00
  • نقدیــ

در این بخش مسئله مطرح شده را با کمک الگوی بیلدر (Builder) پیاده سازی خواهیم کرد و آن را با کمک الگوی Builder پیاده سازی میکنیم، در این بخش در رابطه با Fluent Interface نیز توضیح داده خواهد شد.

10
  • پیاده سازی یک مثال با الگوی Builder (بخش سوم)

  • 00:28:00
  • نقدیــ

در این بخش یک سازنده (Builder) برای چاپ اطلاعات محصولات یک پروژه تستی با کمک کلاس Director پیاده سازی خواهیم کرد.

11
  • ارثبری Fluent Builder ها با Recursive Generics

  • 00:27:00
  • نقدیــ

در این بخش نحوه ارثبری کلاس Fluent Builder ها را با کمک جنریک های بازگشتی (Recursive Generics) در سی شارپ آموزش خواهیم داد.

12
  • ساخت چند Builder برای یک کلاس FacetedBuilder

  • 00:27:00
  • نقدیــ

در این بخش نحوه پیاده سازی چند سازنده برای یک کلاس آموزش داده خواهد شد، برای مثال در این آموزش محصولی را در نظر میگیریم که برای ساخت اطلاعات عمومی، اطلاعات SEO و کامنت هایش نیاز به سه سازنده دارد.

13
  • معرفی الگوی Factory

  • 00:15:00
  • نقدیــ

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

14
  • کدهایی بدون Factory

  • 00:11:00
  • نقدیــ

در این بخش مسئله ای را مطرح میکنیم و آن را بدون کمک از الگوی Factory پیاده سازی میکنیم.

15
  • استفاده از الگوی Factory Method

  • 00:20:00
  • نقدیــ

در این بخش مسئله مطرح شده و یک مثال جدید را با کمک الگوی فکتوری متد (FactoryMethod) پیاده سازی خواهیم کرد .

16
  • استفاده از Inner Factory

  • 00:11:00
  • نقدیــ

در این بخش نحوه مخفی کردن سازنده کلاس object را توضیح داده و توضیحات تکمیلی درباره FactoryMethod را خواهیم گفت.

17
  • استفاده از الگوی Abstract Factory

  • 00:29:00
  • نقدیــ

این نوع سازنده برای مجموعه و یا خانواده ای از objectها مورد استفاده قرار میگیرد و بجای آنکه سازنده برای یک شی باشد برای یک اینترفیس یا کلاس انتزاعی بوجود می آید.

18
  • پیاده سازی Abstract Factory و OCP

  • 00:28:00
  • نقدیــ

در این بخش مثال جلسه قبل را با reflection و استفاده از مفهوم OCP (Open-Closed Principle) پیاده سازی می کنیم.

19
  • الگوی Prototype

  • 00:07:00
  • نقدیــ

الگوی Prototype که یکی دیگر از الگوهای سازنده به حساب می آید، وظیفه کپی کردن (clone) object را به عهده دارد.

20
  • استفاده از اینترفیس ICloneable

  • 00:17:00
  • نقدیــ

در این بخش توضیحی درباره Shallow and Deep Copy داده شده است همچنین با استفاده از اینترفیس ICloneable  این دو روش کپی را پیاده سازی میکنیم. (توضیح مختصری نیز درباره reference-type و value-type داده شده است)

21
  • روش Copy Constructors

  • 00:08:00
  • نقدیــ

روش (Copy Constructor) یک اصطلاح ++C است و از همین زبان آمده و اجازه میدهد که یک object  را برای کپی کردن اطلاعاتش مشخص کنید و این همان کاری است که ما می خواهیم در الگوی ProtoType  انجام دهیم.

22
  • ساخت اینترفیس برای ساده کردن DeepCopy

  • 00:06:00
  • نقدیــ

در این بخش با ساخت یک اینترفیس جنریک کپی کردن object را ساده تر میکنیم.

23
  • کپی کردن اطلاعات بواسطه Serialization

  • 00:19:00
  • نقدیــ

در بخش آخر ProtoType با کمک Serialization (Binary و XML) میخواهیم یک روش کاملا اتوماتیک Deep Copy برای همه نوع داده ها بصورت Generic Extension Methods پیاده سازی کنیم.

24
  • معرفی الگوی Singleton

  • 00:09:00
  • نقدیــ

الگویی جهت ساخت تنها یک نمونه از کلاس در سطح کل پروژه. در این بخش معرفی و مواردی که از Singleton استفاده می شود را توضیح خواهیم داد.

25
  • پیاده سازی Singleton

  • 00:24:00
  • نقدیــ

در این بخش یک مثال برای پیاده سازی الگوی سنگلتون Singleton گفته خواهد شد و از Lazy نیز برای بهبود آن استفاده میکنیم.

26
  • مشکلات آزمون پذیری Singleton

  • 00:16:00
  • نقدیــ

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

27
  • استفاده از DI در Singleton

  • 00:32:00
  • نقدیــ

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

28
  • استفاده از الگوی Monostate بجای Singleton

  • 00:12:00
  • نقدیــ

در این بخش به معرفی الگوی Monostate می پردازیم و آن را با Singleton مقایسه میکنیم

29
  • یک مثال با الگوی Monostate

  • 00:36:00
  • نقدیــ

در این بخش  یک مثال را با الگوی  Monostate پیاده سازی میکنیم و در پایان درباره خلاصه ای از ویژگی ها و تفاوت های Monostate  و Singleton صحبت میکنیم.

30
  • معرفی الگوی Adapter

  • 00:15:00
  • نقدیــ

معرفی الگوی Adapter

نظرات کاربران در رابطه با این دوره

جهت ثبت نظر باید در سایت عضو شوید و یا وارد سایت شده باشید .