کمپ کارورزی و پروژه محور Asp.Net Core (اجرای پروژه واقعی )

دوره حضوری و فشرده کارورزی Asp.Net Core کاملا پروژه محور 

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

ظرفیت بسیار محدود، پس سریع ثبت نام کنید .

قیمت این دوره: 200,000 تومان
  • مدرس دوره : سجاد باقرزاده
  • تعداد ویدیوها : 35 ویدیو
  • مدت زمان دوره : 12:12:00
  • سطح دوره : پیشرفته
  • وضعیت دوره : به اتمام رسیده
  • تاریخ آخرین بروزرسانی : 1399/04/25
 فروش این دوره متوقف شده است .
آموزش دیزاین پترن ها (Design Pattern) در سی شارپ

آموزش دیزاین پترن ها (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

 

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

 

 

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

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

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




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

مدت زمان دوره 12:12:00
  • با مشاهده آنلاین جلسات در سایت ، هزینه اینترنت شما به صورت نیم بها محاسبه خواهد شد.

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

31
  • پیاده سازی دو نوع ObjectAdapter و ClassAdapter

00:24:00

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

32
  • استفاده از Adapter درلایه جداگانه

00:28:00

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

33
  • تبدیل خط به نقطه ها با آداپتور

00:24:00

در این مثال پروژه ای در نظر گرفته شده است که کلاینت آن با Point ها کار میکنند و مقدار جدیدی به پروژه اضافه شده است که بر مبنای Vector عمل میکند و Line ها را می شناسد. بنابراین ما به آداپتوری (Adapter) نیاز داریم که این تبدیل را انجام دهد و کلاینت ما را درگیر نوع داده جدید نکند.

34
  • Caching در Adapter

00:13:00

در این بخش برای جلوگیری از نمونه سازی تکراری از آداپتور در پروژه قبل، سیستم کش برای آداپتور (Adapter Caching) را پیاده سازی میکنیم.

35
  • پیاده سازی Generic Value Adapter (قسمت اول)

00:39:00

در این بخش نوع دیگری از آداپتورها به نام Generic Value Adapter ها مورد بررسی قرار گرفته است و پیادهسازی آن را در قالب یک مثال انجام خواهیم داد.


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

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