آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

آموزش #C پیشرفته همراه با شی گرایی

پیشنیاز : دوره آموزشی #C مقدماتی
تاریخ شروع طول دوره ساعت برگزاری نام استاد هزینه (تومان) وضعیت
1399/10/30 36 ساعت سه شنبه ها ساعت 17 تا 20:30 مهندس رفوآ 1,200,000 ثبت نام

توجه: از دانشجویان عزیز تقاضا میگردد جهت قطعی کردن ثبت نام با آموزشگاه تماس بگیرند.

آموزش آنلاين

بر خلاف زبان های Procedural که در آنها همه چیز بر اساس روال ها تعریف می شوند، مدل سازی نرم افزار در برنامه نویسی شئ گرا(Object Oriented Programming) بر اساس اشیاء انجام می شود و زبان سی شارپ نیز یک زبان شئ گرا یا Object Oriented Programming Language است.
اما پیش از هر چیزی باید بدانیم برنامه نویسی شئ گرا چیست؟ چرا ما از زبان های شئ گرا استفاده می کنیم و مفاهیمی مانند شئ و کلاس در زبان های شئ گرا چه کاربردی دارند؟
تقریبا در تمامی زبان های شی گرا، باید ابتدا الگویی برای ساخت اشیا ایجاد کرد تا اشیای مورد استفاده در برنامه بر پایه این الگوها ساخته شوند. "کلاس ها" همان الگوهای ساخت اشیا هستند که در زبان سی شارپ به همین منظور کاربرد دارند.
در دوره آموزش سی شارپ پیشرفته که همراه با آموزش شی گرایی در C# است، با مبانی شی گرایی به خوبی آشنا می شوید. مطالبی که در دوره آموزش شی گرایی در سی شارپ ارائه می گردد بسیار کاربردی و مهم هستند و در حال حاضر یکی از تخصص های ضروری برای استخدام برنامه نویسان مسلط به مباحث شی گرایی به حساب می آید. دانشجویان در پایان این دوره به درک کاملی از شی گرایی در C# خواهند رسید.



فهرست مخاطبین دوره :
  • آن دسته از برنامه نویسانی که می خواهند به جمع بندی کامل و جامع علمی در مورد جنبه های پیشرفته C# و شی گرائی برسند.
  • آن دسته از دانشجویانی که می خواهند اصول صحیح Solid را در طراحی نرم افزار یاد بگیرند.
  • آن دسته از دانشجویانی که می خواهند با استفاده از اصل Single Responsibility به طراحی صحیح کلاس ها در پروژه خود بپردازند.
  • آن دسته از دانشجویانی که می خواهند با استفاده از اصل Open Closed Principle اقدام به طراحی صحیح و کاربردی اصل Polymorphism در طراحی نرم افزار بپردازند.
  • آن دسته از دانشجویانی که می خواهند با استفاده ازاصل Liskov Substitution Principle اقدام به طراحی صحیح از کلاس های Parent شامل Interface, Abstract Class, Calss بنمایند از مخاطبین این دوره هستند.
  • آن دسته از برنامه نویسانی که می خواهند با استفاده از اصلInterface Segregation Principle به طراحیInterface های پروژه بپردازند.
  • آن دسته از دانشجویانی که می خواهند با استفاده از اصل مهم Dependency Inversion Principle به طراحی صحیح ارتباط بین اجزای نرم افزارهای Enterprise بپردازند.
  • آن دسته از برنامه نویسانی که می خواهند با استفاده از اصول Solid به طراحی نرم افزاری با معماری چند لایه پردازند.
  • آن دسته از برنامه نویسانی که می خواهند با تسلط به مفاهیم Multi Thread و بهره بندی از ویژگی های جدید Async Await به دانش بیشتری در زمینه برنامه نویسی دست یابند.
  • آن دسته از برنامه نویسانی که می خواهند با بهره بندی از Reflection ها به قابلیت برنامه نویسRuntime دست یابند و کار با ساختار Class, Function, Property را به صورت Dynamic بیاموزند.
  • آن دسته از برنامه نویسانی که می خواهند با بهره بندی از ترکیب Attribute ها و Reflection ها مفهوم Cross Concern Edge را پیاده سازی نمایند.
  • آن دسته از برنامه نویسانی که می خواهند به جنبه های حرفه ای Interface ها و مفهوم Dependency injection دسترسی داشته باشند.
  • آن دسته از برنامه نویسانی که می خواهند به جنبه های کاربری توارث در C# نظیر Polymorphism مسلط شوند.
  • آن دسته از برنامه نویسانی که می خواهند به جنبه های جدید زبان سی شارپ نظیر Delegate, Lambda Exoression Event, Anonymous Methods, Extension Methods, Anonymous Types, Dynamic Binding مسلط شوند.
  • آن دسته از برنامه نویسانی که می خواهند به درک مناسبی از مفهوم ساختن Event های جدید و همچنین ارث بری از EventArgs و Customize نمودن EventArgs و Event بپردازند و با استفاده از مفاهیم پیشرفته آن به توانایی لازم برای Loose coupling برسند.
  • آن دسته از برنامه نویسانی که می خواهند به تسلط کامل بر Serialization و انواع آن، شامل XML Serializer, Binary Serializer, Contract Serializaer دست یابند.
  • آن دسته از برنامه نویسانی که می خواهند به تسلط کامل بر مفاهیم Query گیری به زبان LINQ نظیر SubQuery, Deferred Execution, Query Expression, Fluent Syntax, Interpreted Query, Projection و همینطور ساخت Query Expression بصورت پویا دست یابند.
  • دانشجویانی که می خواهند بصورت کامل بر عملگرهای LINQ از قبیل Filtering, Set Operation, Grouping, Ordering, Projection, Aggregation Method مسلط شوند.
  • دانشجویانی که می خواهند بر مفاهیم Modularization, Cohesion, Coupling مسلط شوند.


سرفصل دوره آموزش پیشرفته #C همراه با شی گرایی


1. آموزش سی شارپ پیشرفته

  • آموزش var در زبان سی شارپ پیشرفته
  • آموزش Anonymous Object در زبان سی شارپ پیشرفته
  • آموزش Anonymous Constructor در زبان سی شارپ پیشرفته
  • آموزش Boxing , UnBoxing در زبان سی شارپ پیشرفته
  • آموزش استفاده از Generic در زبان سی شارپ پیشرفته
  • آموزش تفاوت ها و تشابهات Generic, Boxing, UnBoxing
  • آموزش Delegate در سی شارپ پیشرفته
  • آموزش Generic Delegate در سی شارپ پیشرفته
  • آموزش Func در سی شارپ پیشرفته
  • آموزش Action در سی شارپ پیشرفته
  • آموزش Lambda در سی شارپ پیشرفته
  • آموزش Extension Methods در سی شارپ پیشرفته


2. آموزش شی گـرایی پیشرفته

  • آموزش Abstract Classes در سی شارپ پیشرفته و کاربرد عملی آنها در پروژه های واقعی
  • آموزش Interfaces در سی شارپ پیشرفته و کاربرد عملی آنها در پروژه های واقعی
  • آموزش تفاوت ها و تشابهات در Abstract Classes , Interfaces


3. آموزش Polymorphism

  • آموزش Static Polymorphism با استفاده از متد Overloading
  • آموزش Dynamic Polymorphism با استفاده از ارث بری
  • آموزش UpCasting در زمان استفاده از Polymorphism و بررسی مزایا و معایب آن
  • آموزش DownCasting در زمان استفاده از Polymorphism و بررسی مزایا و معایب آن


4. آموزش مقابله با خطا در زبان سی شارپ پیشرفته

  • آموزش بکارگیری Exceptionهای پیش ساخته زبان سی شارپ و استفاده از چندین Catch برای مهار انواع مختلف Error
  • آموزش ارث بری از Exceptionها و کاربرد Custom Exceptionها در طراحی نرم افزار
  • آموزش Exceptionهای ارث بری شده و کاربرد آنها در Unit Test

کارگاه عملی 1 :


پس از تدریس Unit Test در زبان سی شارپ و مفهوم تست نویسی و آموزش انواع تست با استفاده از ترکیب Unit Test , Custom Exception، پروژه عملی تست نویسی Itinerary پرواز انجام می شود.



5. آموزش اصول SOLID در طراحی نرم افزار

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

  • آموزش Single Responsibility و مزیت و معایب آن در برنامه نویسی و معماری نرم افزار
  • آموزش طراحی کلاس ها مبنی بر Open-Closed Principle و بررسی مزایا و معایب آن در برنامه نویسی و معماری نرم افزار
  • آموزش استفاده از Liskov Substitution Principle در طراحی کلاس ها و بهینه سازی توارث مبتنی بر Polymorphism
  • آموزش Interface Segregation Principle در طراحی Interfaceهای پروژه های بزرگ و ارائه Best Practice در طراحی Interface
  • آموزش Dependency Inversion Principle و کاربرد آن در طراحی نرم افزار

کارگاه عملی 2 :


ارائه پروژه ای که با چند Provider مثل EF, ADO, Dapper برای دسترسی به بانک اطلاعاتی استفاده می شود و آموزش چگونگی استفاده از DIP برای معکوس کردن وابستگی و سوئیچ کردن بین Providerها بدون ایجاد تغییر در Source Code.



6. آموزش Entity Framework Core

  • آموزش Code First در Entity Framework Core
  • آموزش تعیین Primary Key با استفاده از Fluent API
  • آموزش تعیین Unique Constraints با استفاده از Entity Framework Core Code First
  • آموزش تعیین نوع و طول دقیق ستون ها با استفاده از Entity Framework Core Code First
  • آموزش روابط بین کلاس ها در نگاشت دیتابیس با استفاده از Entity Framework Core Code First
  • آموزش Fluent API در ساخت جداول
  • آموزش Migration برای ساخت ورژن جدیدی از تغییرات کلاس ها برای بانک اطلاعاتی
  • آموزش Update Database
  • آموزش Update برای یک Context خاص از بین چند Context در پروژه
  • آموزش Down Grade کردن برای یک Context خاص
  • آموزش Entity Framework Core Fluent API برای نگاشت رابطه 1/1
  • آموزش Entity Framework Core Fluent API برای نگاشت رابطه 1/n
  • آموزش Entity Framework Core Fluent API برای نگاشت رابطه m/n
  • آموزش ساختارهای درختی در Entity Framework Core و استفاده از Entity Framework Core Fluent API جهت Self-Relation
  • آموزش Eager Loading در Entity Framework Core
  • آموزش Lazy Loading در Entity Framework Core
  • آموزش Change Tracker در Entity Framework Core

کارگاه عملی 3 :


آموزش طراحی بانک اطلاعاتی یک فروشگاه الکترونیکی بصورت زیر :
1. رده بندی محصولات در این فروشگاه به شکل Circulation و یک درخت است.
2. رابطه بین رده بندی و محصولات، یک رابطه 1/n و رابطه بین محصولات و تگ ها، یک رابطه m/n است.
3. مدیریت مشتریان شامل مشخصات کامل مشتری و همچنین رابطه بین مشتریان و سفارشات آنها، یک رابطه 1/n و رابطه سفارشات و کالاها یک رابطه m/n است. تمامی مراحل طراحی فروشگاه فوق با استفاده از Fluent API و Code First و بصورت عملی و کارگاهی برگزار می گردد.



7. آموزش Unit of Work

  • آموزش مفاهیم ACID و تراکنش ها
  • آموزش کار با System.Transaction
  • آموزش کار با Transaction Scope
  • آموزش مفاهیم Rollback , Rollforward در بانک اطلاعاتی
  • آموزش مفاهیم Complex Business Models و کاربرد آنها در الگو Unit of Work

کارگاه عملی 4 :


طراحی یک Complex Object از سبد خرید مشتری و ثبت کامل سبد خرید در قالب Unit of Work بهمراه Transaction Scope بصورت عملی و کارگاهی برای دانشجویان عزیز انجام می گیرد.



8. آموزش کوئری نویسی

  • آموزش کوئری نویسی به روش Query Syntax در Entity Framework Core
  • آموزش کوئری نویسی به روش Method Syntax در Entity Framework Core

تبصره :

تمامی کوئری های ذکر شده در مراحل زیر به روش های Query Syntax , Method Syntax انجام می شوند.

  • آموزش جستجو رشته ها با استفاده از تابع Starts With در Entity Framework Core
  • آموزش جستجو رشته ها با استفاده از تابع Ends With در Entity Framework Core
  • آموزش جستجو رشته ها با استفاده از تابع Contains در Entity Framework Core
  • آموزش گروه بندی رکوردها در Entity Framework Core
  • آموزش Having در Entity Framework Core
  • آموزش مرتب سازی داده ها با استفاده از Order By
  • آموزش شرط گذاری با استفاده از Where
  • آموزش کوئری نویسی با خروجی Anonymous Object
  • آموزش کوئری نویسی با خروجی Business Object
  • آموزش Scalar SubQuery در Entity Framework Core
  • آموزش Table Drive SubQuery در Entity Framework Core
  • آموزش SubQuery نوع سوم در Entity Framework Core
  • آموزش Inner Join در Entity Framework Core
  • آموزش Left Join در Entity Framework Core
  • آموزش Right Join در Entity Framework Core
  • آموزش Full Join در Entity Framework Core
  • آموزش جستجو پیشرفته در Entity Framework Core
  • آموزش مفهوم Page بندی در Entity Framework Core
  • آموزش Dynamic Query در Entity Framework Core


9. آموزش مبانی تست در سی شارپ

  • تست خودکار در سی شارپ
  • مزایا تست خودکار در برنامه نویسی
  • انواع تست در سی شارپ
  • هرم تست در برنامه نویسی
  • ابزار تست در برنامه نویسی


10. مبانی تست واحد در سی شارپ

  • ویژگی یونیت تست مناسب در سی شارپ
  • آموزش نام گذاری تست در سی شارپ
  • آموزش rider در تست واحد در سی شارپ
  • آموزش نوشتن تست واحد در سی شارپ
  • آموزش تست black box در سی شارپ
  • آموزش set up در تست واحد در سی شارپ
  • آشنایی با tear down در تست واحد در سی شارپ
  • آموزش تست پارامتری شده در C#
  • آشنایی با ignoring test در سی شارپ
  • آموزش نوشتن تست واحد قابل اعتماد در سی شارپ


11. آموزش core تست در سی شارپ

  • آموزش تست رشته ها در سی شارپ
  • آموزش مجموعه های تست واحد در Csharp
  • آموزش تست متدهای برگشتی در سی شارپ
  • آموزش تست متدهای void در سی شارپ
  • تست واحد برای مدیریت خطا در csharp
  • آشنایی با تست متد private در سی شارپ
  • آشنایی با code coverage در سی شارپ


12. رفع وابستگی خارجی در سی شارپ

  • آموزش کدهای قابل تست در C#
  • آشنایی با مفهوم loosely coupled در سی شارپ
  • تزریق وابستگی با استفاده از پارامترهای متد در سی شارپ
  • تزریق وابستگی با استفاده از properties
  • تزریق وابستگی با استفاده از constructor
  • تزریق وابستگی با استفاده از فریمورک ها
  • فریمورک های ساختگی
  • آبجکت های ساختگی در سی شارپ

آموزش شی گرایی در c# ، دوره برنامه نویسی c# ،آموزش شی گرایی, دوره سی شارپ,آموزش object oriented programming

فیلم های آموزشی مرتبط با این دوره

آموزش کار با کلاس ها در C#
ترکیبات کلاس ها در سی شارپ
استاتیک در سی شارپ
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال
آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .