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

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

پیشنیاز : سه سال سابقه برنامه نویسی
تاریخ شروع طول دوره ساعت برگزاری نام استاد هزینه (تومان) وضعیت
1400/02/09 48 ساعت پنج شنبه ها ساعت 16:30 تا 20:30 (حضوری و آنلاین) مهندس محمد آزاد 2,000,000 ثبت نام

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

عنوان فیلم:

دوره آموزش Domain-Driven Design

آموزش معماری نرم افزار

قبل از ثبت نام این فیلم را ببینید

مخاطبین دوره DDD


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


اهداف دوره آموزش Domain-Driven Design


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



سرفصل های دوره آموزشی Domain-Driven Design


1. اصول طراحی در Domain Driven Design

اصول طراحی شی گرا SOLID چیست؟
  • معماری Enterprise چیست
  • آشنایی با Design Smell های متداول و نشانه های آنها
  • اصول طراحی شی گرا SOLID چیست؟
  • آموزش Single responsibility principle در SOLID
  • آموزش Open Close Principle در SOLID
  • اصل Liskov Substitution Principle در SOLID چیست؟
  • مفهوم جدایی واسط ها (Interface Segregation Principle) در مهندسی نرم افزار
  • اصل Dependency Inversion یا معکوس سازی وابستگی در SOLID چیست؟
  • آشنایی با تزریق وابستگی یا Dependency Injection
  • آشنایی با IoCC های معروف دات نت و نحوه ی استفاده از آنها
  • مثال عملی و انجام پروژه در دوره
  • نگاهی بر الگوی Service Locator
  • آشنایی با اصول KISS، DRY، YAGNI، SoC

2. تست نرم افزار چیست؟

  • بررسی انواع تست نرم افزار
  • Integration Testing
  • Unit Testing
  • end-to-end Testing
  • بررسی Test Driven Development یا به اختصار TDD و مفاهیم آن
  • چگونه طراحی انجام دهیم که تست پذیر باشد
  • آموزش اصول نوشتن Unit Test
  • آموزش تکنیکهای Mocking
  • پیاده سازی مفاهیم فوق در مثال و پروژه
  • استفاده از ابزارهای ویژوال استودیو جهت ساخت کتابخانه های Fake جهت تست

3. آشنایی با مفاهیم Domain-Driven Design

  • آشنایی با تفکر و رویکرد Domain-Driven در طراحی نرم افزار
  • بررسی تکنیک های کشف و شناسایی مسئله
  • توسعه رفتار محور (behavior-driven development)
  • آشنایی با Event storming
  • مفهوم strategy design
  • مفاهیم Domain، Domain Model، Ubiquitous Language و ...
  • آموزش مفهوم Sub-Domain و ویژگیهای آن
  • آموزش Core domain
  • آموزش Generic Subdomain
  • آموزش Supporting Subdomains
  • آشنایی با Bounded Context
  • بررسی روابط بین Bounded Context
  • پیاده سازی ACL ها جهت ارتباط بین Bounded Context ها
  • آموزش سند Context Map
  • آشنایی با مفاهیم Aggregate و Aggregate Root
  • مفهوم Entity و Value Object
  • آشنایی با Service های مختلف (Domain Service، Application Service، Repository و ... )
  • آشنایی با Domain Event ها

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

  • آشنایی با معماریهای Domain Centric آشنایی با معماریهای Domain Centric
    • آموزش و پیاده سازی Onion Architecture (معماری پیاز) و نحوه ی لایه بندی در آن
    • Hexagonal Architecture آشنایی با
    • آشنایی با Clean Architecture
  • Domain Centric بررسی لایه های
  • بررسی لایه Domain Domain Centric بررسی لایه های
    • مفهوم Bussiness Logic و نحوه جداسازی آن از زیرساخت نرم افزار
    • اصل persistence Ignorance
    • بررسی الگوهای متداول این لایه ( Strategy Pattern ,Decorator Pattern, Template Method Pattern,Factory Method , Builder , State)
  • بررسی لایه Application
    • بررسی وظایف Applicatin Service
    • آموزش مفهوم Applicaion Logic
    • بررسی الگوهای متداول این لایه (Facade,Aggregator,Service)
      • Observer Pattern
      • Mediator Pattern
      • Event Aggregator Pattern
      • Adapter Pattern
      • Command Pattern
  • بررسی لایه Prsistence
    • نگاهی بر ORM های معروف دات نت ( Entity Framework , NHibernate )و مقایسه آنها
    • پیاده سازی الگوی Repository و Unit of Work
    • یادگیری نحوه Map کردن Entity ها و Value Object ها
    • نحوه مدیریت همزمانی (Concurrency)
    • Transaction Per Request
    • Transaction Per Use Case
  • لایه Service
    • نگاهی برSOA و اصول آن
    • آشنایی با Rest و سرویسهای RESTful
    • بررسی پترنهای پیاده سازی سرویسهای RESTful
    • پیاده سازی سرویس های RESTful با ASP.NET Web API
    • نگاهی بر سرویس های SOAP و WCF
  • لایه Presentation
    • نگاهی بر مفهوم Task-Based UI
    • نگاهی بر برنامه های وب تک صفحه ای - Single Page Applications
    • آشنایی با الگوی MVVM و پیاده سازی آن در WPF

5. Cross Cuttings

Cross Cuttings
  • آشنایی با رویکرد AOP و پیاده سازی آن
  • پیاده سازی Logging
  • پیاده سازی Authentication و Authorization
  • Security
  • آشنایی با مفهوم Claim-Based Identity
  • پیاده سازی مکانیزم احراز هویت
  • پیاده سازی مکانیزم ثبت رویداد ها (Event Log)
  • پیاده سازی مکانیزم ثبت Exception Log و معرفی کتابخانه های مرتبط
  • پیاده سازی مکانیزم ثبت Audit Log
  • Caching
  • Configuration Management

6. الگوی CQRS چیست

الگوی CQRS چیست
  • بررسی الگوهای CQS و CQRS و مقایسه آنها
  • منظور از Eventual Consistency چیست
  • بررسی Event Driven Architecture
  • آموزش Event Sourcing در آموزش معماری نرم افزار
  • پیاده سازی سیستم Messaging با استفاده از MassTransit و RabbitMQ
  • نحوه جداسازی Write,Read در CQRS با استفاده از Event Driven Architecture
  • پیاده سازی الگوی CQRS

بخش اول سرفصل Domain Driven Design

بخش دوم سرفصل Domain Driven Design


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

ارسال
کاربر میهمان1399/07/23

خرید پکیج

سلام و وقت بخیر امکان خرید پکیج غیر حضوری برای این دوره ها وجود ندارد؟

پاسخ مدیر

درود کاربر عزیز برای اینکه واقعا از این دوره استفاده ببرید حتما باید در کلاس شرکت کنید چون سوال و جواب در کلاس مقدور است

کاربر میهمان1399/07/15

خرید پکیج

سلام وقت بخیر من قصد خرید کامل این پکیج رو دارم لطفا راهنمایی فرمایید . با تشکر

پاسخ مدیر

درود کاربر عزیز برای اینکه واقعا از این دوره استفاده ببرید حتما باید در کلاس شرکت کنید

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

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