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

معماری نرم افزارهای Enterprise در دات نت

پیشنیاز : 3 سال سابقه کار برنامه نویسی
تاریخ شروع طول دوره ساعت برگزاری نام استاد هزینه (تومان) وضعیت
1396/01/25 48 ساعت جمعه ها ساعت 13:15 تا 16:15 مهندس هادی احمدی 850,000 درحال برگزاری
1396/06/31 48 ساعت جمعه ها ساعت 13:15 تا 17:15 مهندس عباسی 925,000 ثبت نام

توجه: تاریخ های اعلام شده جهت شروع دوره ها، ممکن است با توجه به زمان حد نصاب رسیدن افراد، تغییر یابد، لذا خواهشمند است در صورت علاقه مندی به شرکت در هر یک از دوره ها، تاریخ دقیق را با مسئول آموزش چک فرمایید.

دریافت رزومه مدرس مخاطبین این دوره:

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

اهداف دوره:

در این دوره دانشجو با اصول طراحی شی گراء آشنا شده و میتواند کلاس های استاندارد، قابل تست و قابل نگهداری طراحی کند. همچنین با تفکر DDD آشنا شده و میتواند در پروژه های خود از این رویکرد و همچنین تلفیق آن با الگوی CQRS برای توسعه ی نرم افزار استفاده نماید. در این دوره سعی شده است تا الگوهای طراحی (Design Patterns) نیز به شکل کاملا عملی و به صورت مثال در حین جلسات کلاس به دانشجویان آموزش داده شود.

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

اصول طراحی

  • آشنایی با Design Smell های متداول و نشانه های آنها
  • اصول طراحی SOLID
  • Single Responsibility Principle
  • Open/closed principle
  • Liskov substitution principle
  • Interface segregation principle
  • Dependency inversion principle
  • آشنایی با تکنیک Dependency Injection
  • آشنایی با IoCC های معروف دات نت و نحوه ی استفاده از آنها
  • نگاهی بر الگوی Service Locator
  • آشنایی با اصول KISS، DRY، YAGNI، SoC

تست نرم افزار

طراحی پیشرفته آبجکت

  • شنایی با انواع تست نرم افزار (Unit Testing، Integration Testing و ... )
  • آشنایی با رویکرد Test Driven Development و مفاهیم آن
  • اصول نوشتن Unit Test و کار با MS Test
  • تکنیک Mocking و کار با کتابخانه ی Moq جهت پیاده سازی آن
  • استفاده از ابزارهای ویژوال استودیو جهت ساخت کتابخانه های Fake جهت تست

Domain Driven Design

  • آشنایی با تفکر و رویکرد Domain-Driven در طراحی نرم افزار
  • مفاهیم Domain، Domain Model، Ubiquitous Language و ...
  • مفهوم Sub-Domain و انواع آن (Core، Generic، Supporting)
  • آشنایی با Bounded Context و سند Context Map
  • پیاده سازی ACL ها جهت ارتباط بین Bounded Context ها
  • مفهوم Aggregate و Aggregate Root
  • مفهوم Entity و Value Object
  • آشنایی با Service های مختلف (Domain Service، Application Service و ... )
  • آشنایی با Domain Event ها

معماری نرم افزار

  • آشنایی با Onion Architecture (معماری پیاز) و نحوه ی لایه بندی در آن
  • لایه Domain
  • مفهوم Business Logic و نحوه جداسازی آن از زیرساخت نرم افزار
  • اصل Persistence Ignorance
  • یادگیری الگوهای متداول این لایه :
    • Factory Method Pattern
    • State Pattern
    • Template Method Pattern
    • Decorator Pattern
    • Strategy Pattern
  • Specification & Composite Specification
  • لایه Application
  • مفهوم Application Logic و وظایف لایه ی Application
  • نگاهی بر سرویس های مبتنی بر Workflow و آشنایی با WF
  • یادگیری الگوهای متداول این لایه :
    • Observer Pattern
    • Mediator Pattern
    • Event Aggregator Pattern
    • Adapter Pattern
    • Command Pattern
    • لایه Service
  • نگاهی برSOA و اصول آن
  • آشنایی با REST و سرویس های RESTful
  • پیاده سازی سرویس های RESTful با ASP.NET Web API
  • نگاهی بر سرویس های SOAP و WCF
  • لایه DataAccess
  • نگاهی بر ORM های معروف دات نت
  • مقایسه ی EF و NHibernate و استفاده از آن در رویکرد DDD
  • آشنایی با NHibernate
  • آشنایی با انوع Mapping در NHibernate
  • آشنایی با Session ها در NHibernate
  • آشنایی با Component Mapping، Collection Mapping، Inheritance Mapping و ... در NHibernate
  • یادگیری نحوه ی Map کردن Entity ها و Value Object ها در NHibernate
  • مدیریت همزمانی (Concurrency) در NHibernate
  • کار با Interceptor ها، Event ها و Caching در NHibernate
  • Connection و Transaction
  • یادگیری الگوهای متدوال برای کار با پایگاه داده :
    • Repository
    • Unit of Work
    • Transaction Per Request
    • Transaction Per Use Case
  • لایه Presentation
  • نگاهی بر مفهوم Task-Based UI
  • نگاهی بر برنامه های وب تک صفحه ای - Single Page Applications
  • نگاهی بر Rich Desktop Clients
  • آشنایی با الگوی MVC و فریم ورک های متدوال جاوا اسکریپت مانند Angular JS
  • آشنایی با الگوی MVVM و پیاده سازی آن در WPF
  • آشنایی با فریم ورک های جاوا اسکریپت تحت MVVM مانند Knockout JS
  • Cross Cuttings
  • Security
  • آشنایی با مفهوم Claim-Based Identity
  • آشنایی با OAuth 2
  • آشنایی با پروژه ی OWIN و Katana
  • یادگیری ASP.NET Identity
  • پیاده سازی مکانیزم احراز هویت با ASP.NET Identity و OWIN
  • Logging
  • پیاده سازی مکانیزم ثبت رویداد ها (Event Log)
  • پیاده سازی مکانیزم ثبت Exception Log و معرفی کتابخانه های مرتبط
  • پیاده سازی مکانیزم ثبت Audit Log
  • Caching
  • Configuration Management

الگوی CQRS

  • آشنایی با الگوی CQRS
  • آشنایی با مفهوم Eventual Consistency و مدل BASE
  • آشنایی با Command ها و Command Handler ها
  • آشنایی با Event ها و Event Handler ها
  • آشنایی با Event Bus و Command Bus
  • Messaging و معماری Event-Driven
  • آشنایی با MSMQ
  • آشنایی با مفهوم Service Bus در SOA
  • پیاده سازی زیر ساخت Messaging با RhinoBus

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

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

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