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

دوره جامع آموزش Entity FrameWork به همرا Design Pattern های لایه دسترسی دیتا با EF 6

پیشنیاز : آشنایی با زبان سی شارپ و شی گرایی
تاریخ شروع طول دوره ساعت برگزاری نام استاد هزینه (تومان) وضعیت
1396/08/04 36 ساعت پنجشنبه ها ساعت 13:15 تا 16:15 مهندس هادی احمدی 654,000 درحال برگزاری
1396/11/19 36 ساعت پنجشنبه ها ساعت 13:15 تا 16:30 مهندس خاتمی 654,000 ثبت نام

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

دوره جامع Entity FrameWork به همرا Design Pattern های لایه دسترسی دیتا با EF 6

  • پیشنیاز:
  • تسلط بر زبان C# ,آشنایی نسبی با SQL Server

  • فهرست مخاطبین:
1) شرکت های تولید نرم افزار که به دنبال تکنولوژی و معماری مناسب برای پیاده سازی لایه ی DataAccess نرم افزارهای تجاری خود می باشند.
2) آن دسته از شرکت های تولید نرم افزار که می خواهند با بکارگیری Design Pattern ها استانداردهای مهندیس محصولات خود را بالا ببرند از مخاطبین ای دوره هستند.
3) شرکت های تولید نرم افزار که قصد دارند ORM خود را از NHibernate به EF تغییر دهند.
4) آن دسته از برنامه نویسانی که تجربه ی کار با EF را داشته ولی به دنبال یادگیری کامل آن و همچنین استفاده از آن در یک معماری Enterprise می باشند.
5) آن دسته از برنامه نویسانی که از تکنولوژی های قدیمی ADO.NET مانند DataTable و Dataset برای ارتباط با پایگاه داده و پیاده سازی DataAccess استفاده میکنند و قصد یادگیری EF و LINQ را دارند.
1. امروزه متاسفانه با آمدن ابزارهای جدیدی نظیر NHibernate و یا Entity Frame Work ضعف شدید در شرکت های تولید نرم افزار حاکم است و این ضعف ها به دلیل عدم وجود یک معماری مناسب با این ابزارها در چرخه تحلیل ، طراحی و پیاده سازی نرم افزار می باشد .
در این دوره می آموزید که چگونه از Onion Architecture برای افزایش بهره وری تولید نرم افزار و صحت تولید نرم افزار استفاده نمایید
EF به عموان ابزاری جدید باید بتواند جایگاه واقعی خود را در معماری نرم افزار مشخص نماید
آموزش Entity Frame Work
2. علت استفاده از DBContent ها در پروژه ها .
شاید اصلی ترین استفاده از DBContent ها در معماری و رویکرد جدید معماری نرم افزار پیاده سازی Bounded Context می باشد.
Bounded Context ها همان پیاده سازی شی گرا Use Case Diagram ها از دنبای تحلیل ، در دنیای پیاده سازی می باشند. با استفاده از Bounded Context ها می آموزید چگونه Class های پروژه را به بخش های منطقی تقسیم کند و برای هرکدام DBContent جدا طراحی کند .
آموزش Entity Frame Work
3. امروزه پیاده سازی Design Pattern ها در پروژه های نرم افزاری یکی از اصلی ترین استانداردهای ساخت نرم افزار می باشد .
در این دوره چندین Design Pattern معروف در دنیای برنامه نویسی به صورت کامل و کاربردی آموزش داده می شود :
  • Repository Pattern :
    • با استفاده از این Pattern کلیه پیاده سازی مرتبط با دسترسی به داده ها در یک کلاس واحد انجام می پذیرد و بدین طریق از پراکندگی مدها از نظر منطقی جلوگیری می شود .
  • Unit Of Work Design Pattern :
  • آموزش Entity Frame Work
  • یکی از مهم ترین Design Pattern های موجو در لایه دسترسی داده ها همان Unit Of Work می باشد .
    • این Pattern با ایجاد یک Connection و اجرای یک باره چندین دستور در تغییر داده ها موجب افزایس شدید کارایی برنامه های تحت وب نی باشند ، در ضمن بهترین روش برای پیاده سازی تراکنش ها در ORM های نسل جدید همان Unit Of Work می باشد .
    • تجربه شخصی در یکی از مشاوره هایی که چند سال پیش به یکی از برنامه های تلویزیونی می دادم متوجه افت شدید کارایی پروژه آنها و شکایت شدید کارفرما از کارایی EF شدم ، پس از مطالعه Source Code آنها متوجه شدم که کاهش کارایی آنها بنابر عدم استفاده مناسب از UOW و Repository می باشد .
  • تطبیق تحلیل شی گرای نرم افزار با مراحل تولید نرم افزار یکی از اهداف این دوره می باشد .
    • امروزه با توجه به بزرگتر شدن محیط های نرم افزار و عدم کارایی روش های سنتی تحلیل ، تحلیل شی گرا امری بدیهی می باشد ولی یکی از بزرگ ترین موانع در پیاده سازی نرم افزار های Enterprise ، این عدم تطبیق در کد نویسی و تحلیل می باشد .
    • در این دوره می آموزید که چگونه با استفاده از Entity Frame work Code First به یک تطبیق جامع و کاربردی از تطبیق Class Diagram با مدل رابطه ای دیتابیس برسیم .
    • آموزش مدیریت Version در Data Base
    • یکی از اصلی ترین مشکلات مدیران پروژه ها ، عدم تطبیق مدیریت Source Control مابین برنامه نویسان علی الخصوص زمانی که آنان تغییرات خود را درون Data Base می دهند .
    • با استفاده از Entity Frame Work Code First Immigration می آموزند که چگونه مدیریت Source Control را مابین اعضای تیم هماهنگ نمایند .
  • اهداف دوره :
1)هدف از برگذاری این دوره، آشنایی کامل دانشجویان با لایه Data Access، قابلیت به کار گیری Design Pattern های مورد استفاده در لایه Data Access و نحوه ی استفاده از EF در این لایه می باشد.
2) دانشجویان در این دوره روش های مختلف کار با EF اعم از Database First،
Code First وModel Frist را در محیطی عملی و کاربردی یاد میگیرند.
3) نحوه بازیابی اطلاعات با Query های پیچیده یا به عبارتی آموزش نحوه جایگزین کردن Query ها در EF با ًQuery های T-SQL از سرفصلهای این دوره است.
4)در این دوره همچنین مواردی نظیر ، Lazy Loading، نحوه Map کردن ارث بری به سه روش (TPH، TPC، TPT)، نحوه ی مدیریت همزمانی (Concurrency Management)، بالا بردن سرعت بازیابی اطلاعات با استفاده از Precompiled Queries و Precompiled Views، کار با Stored Procedure ها و Function ها، کار با تراکنش ها(Transactions)و ... را به طور کامل و علمی فرا میگیرد.
5) همچنین با نحوه ی استفاده از Entity Framework در یک نرم افزار Enterprise با معماری Domain Driven آشنا شده و الگوهای طراحی (Design Patterns) پرکاربرد و رایج لایه Data Access مانندPattern Repository و Unit of Work
Pattern وMarker Pattern Unit of Workرا فرا میگیرد و آنها را با استفاده از امکانات Entity Framework پیاده سازی میکند.
  • سرفصلهای دوره:
  • مروری بر ویژگی های جدید زبان C# و LINQ
    • Generic
    • Anonymous Type
    • Extension Method
    • Delegates, Func, Action
    • Expression, Predicate
    • دستورات LINQ مانند Where, Select, GroupBy, Union, OrderBy و ...
  • مفاهیم اولیه EFرویکرد های مختلف آن
    • آشنایی با Navigation Property، Complex Types و ...
    • آشنایی با DbContext, DbSet و ...
    • آشنایی با Connection و نحوه ی ساخت ConnectionString های Dynamic
    • آشنایی با سه رویکرد مختلف جهت Model سازی
    • Database First
    • Model First
    • CodeFirst
    • دو روش مختلف Fluent API و Annotation
    • آشنایی کامل با قراردادهای پیش فرض و دستورات جهت کار با رویکرد Code First
  • نگاشت مدل شی گرا به جدول های پایگاه داده
    • بررسی رابطه های یک به یک (One-To-One)، یک به چند (One-To-Many) و چند به چند (Many-To-Many) و نحوه پیاده سازی آنها
    • بررسی و پیاده سازی کامل 3 روش TPH, TPC و TPT
    • بررسی مزایا و معایب و فاکتورهای تاثیر گذار جهت انتخاب یکی از روش ها
  • اجرای Query های ساده تا پیشرفته با EF
    • دستورات ساده مانند Select, Where, OrderBy, GroupBy, Like, Contains و ...
    • Left Join, Full Join, Union و ...
    • SubQuery های پیچیده
    • کار با داده های رشته ای و تاریخ
    • کار با Stored Procedure ها و Function ها تعریف شده توسط کاربر
  • تکنیک های پیشرفته EF
    • آشنایی با مفاهیم Eager Loading و Lazy Loading و پیاده سازی آنها در EF
    • بالابردن سرعت اجرای Query ها در EF با استفاده از Precompiled Views و Precompiled Queries
    • اجرای Query های NoTracking جهت ایجاد کوئری های فقط خواندنی (ReadOnly)
    • آشنایی با رویکرد های متفاوت در مدیریت همزمانی (Optimistic & Pessimistic Concurrency) و پیاده سازی آنها
    • استفاده از SQL Server Profiler و Entity Framework Profiler جهت مشاهده و Debug کوئری ها
  • تکنیک های پیشرفته EF با کتابخانه ی Entity Framework Extended
    • اعمال Batch Update و Batch Delete بر روی جداول پایگاه داده
    • ارسال و دریافت نتیجه ی همزمان چند Query با استفاده از FutureQuery
    • بالا بردن سرعت اجرای Query ها و بازدهی نرم افزار با پیاده سازی مکانیزم Cache برای نتیجه Query ها
    • ثبتLog تغییرات اعمال شده بر روی Entity ها
  • کار با تراکنش ها (Transactions)
    • بررسی مدل ACID
    • بررسی انواع Isolation Level مانند Serializable، Read Commited و ... و مزایا و معایب هر یک از آنها
    • نحوه کار با کلاس System.Transaction جهت ایجاد تراکنش بر روی پایگاه داده
  • معماری نرم افزار و لایه ی Data Access
    • آشنایی با رویکرد Domain-Driven در طراحی نرم افزار
    • آشنایی با مفاهیم اولیه ی Domain-Driven مانند Aggregate, AggregateRoot, Value Object و ... و نحوه پیاده سازی آنها در مدل شی گرا و EF
    • معماری لایه ای Onion و نحوه ی پیاده سازی آن در .NET
    • نحوه استفاده از EF به عنوان ORM در معماری Onion
    • پیاده سازی DbContext های جداگانه برای هر قسمت از نرم افزار (Bounded Context) و نحوه ی مدیریتConnection ها و Mapping آنها
  • الگوهای طراحی (Design Patterns) لایه Data Access
    • تشریح الگوی Repository و Generic Repository و پیاده سازی آنها در معماری لایه ای Onion
    • تشریح کامل گراف ها در مدل شی گرا و نحوه ی برخورد EF با آنها جهت پیاده سازی Repository های مناسب
    • تشریح الگوی Unit of Work جهت پیاده سازی Transaction ها
  • تست و آزمایش لایه ی DataAccess
    • آشنایی با مفاهیم اولیه ی Unit Testing و ابزارهای Visual Studio برای نوشتن و اجرای Test Case
    • آشنایی با مفهوم Mocking و پیاده سازی آن با استفاده از کتابخانه Moq
    • تست Repository ها و کلاس های نوشته شده با EF
    • آشنایی با تکنیک Fake DbSet جهت پیاده سازی تست

دوره جامع آموزش Entity FrameWork به همرا Design Pattern های لایه دسترسی دیتا با EF 6

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

مقالات Entity FrameWork
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال
کاربر میهمان1395/12/30

آموزشی

عالی ولی کم

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

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