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

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

پیشنیاز : سه سال سابقه برنامه نویسی
تاریخ شروع طول دوره ساعت برگزاری نام استاد هزینه (تومان) وضعیت
1401/04/22 48 ساعت چهار شنبه ها ساعت 16:30 تا 20:30 (حضوری و آنلاین) مهندس محمد آزاد 3,500,000 ثبت نام

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

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

آموزش DDD از زبان مهندس آزاد


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



Top Skills

  • ASP.NET
  • C#
  • Test Driven Development

Certifications

Advanced Distributed Systems Design using SOA & DDD

Experience

Rahyab Rayaneh Gostar
CTO
April 2021 - Present (6 months)

Sekhavat F.C.I.
Technical Team Lead
2016 - Present (5 years)
Tehran Province, Iran

Core Banking, Accounting, Banking, Treasury
DDD, CQRS, ESB, WPF, WF

Tahlildadeh Institute
Lecturer
October 2019 - Present (2 years)
Enterprise Architecture , Domain Driven Design, CQRS

Noyan System
Technical Team Lead
January 2015 - June 2016 (1 year 6 months)
Company belongs to SAMAN financial group

Faraconesh Corporation
Senior Software Developer
April 2011 - December 2014 (3 years 9 months)

SimplyDesk
Senior Software Developer
September 2013 - September 2014 (1 year 1 month)

SimplyDesk is a cloud based ITIL v3 service desk.
Request for a demo at http://www.simplydesk.com and you are able to see the application live on the web

HonoPardaz
Web Developer
September 2009 - January 2011 (1 year 5 months)

Education

Azad University (IAU)



نمونه تدریس استاد آزاد



مخاطبین دوره 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


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

ارسال
کاربر میهمان1400/10/04

پیش نیاز

آیا برای شرکت در این دوره باید C# بلد بود؟ من PHP کار هستم . آیا شرکت توی این کلاس ها میتونه برام مفید باشه؟

پاسخ مدیر

درود کاربر گرامی .. با هر زبان برنامه نویسی که مهارت دارید می توانید در دوره معماری نرم افزار شرکت کنید.

کاربر میهمان1400/08/26

اعتراض

سلام. شاید کسی شرایط شرکت کردن نداشته باشه مسیرش -کورنا- ساعت کاری و ..... خواهشا مثل همه ی دنیا و همه ی وبسایت ها این موضوع رو اختیاری قرار دهید

پاسخ مدیر

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

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

خرید پکیج

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

پاسخ مدیر

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

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

خرید پکیج

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

پاسخ مدیر

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

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

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