روز مانده به شروع دوره
Python - پایتون
روز مانده به شروع دوره
Machine learning
ورود
021-88146330
0903-9737-034
تقویم آموزشی

آموزشگاه تحلیل‌داده

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

title title
نام دوره شهریه نام استاد مدت زمان تاریخ شروع زمان برگزاری پیشنیاز وضعیت دوره
دوره آموزش معماری نرم افزارهای Enterprise در دات نت 3,500,000 مهندس محمد آزاد 48 1401/06/02 چهار شنبه ها ساعت 16:30 تا 20:30 سه سال سابقه برنامه نویسی حضوری و آنلاین

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

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

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

TAHLILDADEH ACADEMY

اهداف دوره آموزشی DDD

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

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

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

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

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

    • معماری 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

    • آشنایی با رویکرد AOP و پیاده سازی آن
    • پیاده سازی Logging
    • پیاده سازی Authentication و Authorization
    • Security
    • آشنایی با مفهوم Claim-Based Identity
    • پیاده سازی مکانیزم احراز هویت
    • پیاده سازی مکانیزم ثبت رویداد ها (Event Log)
    • پیاده سازی مکانیزم ثبت Exception Log و معرفی کتابخانه های مرتبط
    • پیاده سازی مکانیزم ثبت Audit Log
    • Caching
    • Configuration Management
  6. الگوی 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

گواهی پایان دوره

هنرجویان عزیز، مدرک آموزشگاه تحلیل داده، مدرک رسمی از سازمان فنی و حرفه‌ای می‌باشد. دانشجویان پس از پایان دوره با ارائه پروژه کاربردی خود به آموزشگاه و پس از تایید استاد دوره گواهی پایان دوره خود را دریافت می‌نمایند.

مشاهده نمونه مدرک
همین حالا ثبت نام کن!
teacherImage
مهندس محمد آزاد

استاد آزاد

مشاهده رزومه

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)

سوالات پر تکرار

آیا پس از پایان دوره نیز برای دانشجویان رفع اشکال انجام می گردد؟

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

من شهرستان هستم، آیا می توانم در کلاس های شما شرکت کنم؟

بله، از آنجا که کلاس های ما بصورت آنلاین هم برگزار می شوند، این بستر را برای تمامی دوستان خارج از تهران فراهم کرده ایم که بتوانند در تمامی دوره های حرفه ای و تخصصی ما شرکت کنند.

پشتیبانی و پاسخگویی به دانشجویان در حین دوره چگونه است؟

به توجه به اینکه دوره به صورت حضوری/آنلاین یعنی ترکیب هر دو حالت برگزار می گردد، بنابراین دانشجویان در حین برگزاری دوره می توانند به صورت مرتب سرکلاس و یا از طریق گروه whatsapp با استاد دوره در تماس باشند، و مدرس دوره پاسخگوی شما عزیزان خواهند بود.
برای ارسال نظر لازم است، ابتدا وارد سایت شوید.

پیش نیاز

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

پیش نیاز

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

خرید پکیج

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

خرید پکیج

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

خرید پکیج

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

خرید پکیج

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

برای ارسال سوال لازم است، ابتدا وارد سایت شوید.