- پایتون
- هوش مصنوعی
- سی شارپ
- MS .NET Fundamentals آموزش برنامه نویسی مقدماتی C#
- Programming in C#1 – Windows Forms
- ASP.NET Core 10.0 and Blazor with Material
- ASP.NET Core 10.0 and Angular 20.0 with Material
- دوره NET Microservices ,DDD, CQRS,Vertical/Clean Architecture using Docker.
- API Security
- Fullstack Web Development
- دوره طراحی سیستم System Design
- دوره ASP.Net Core With EF Core
- دوره Test In .NET
- طراحی وب
- جاوا
- اندروید
- دوره گولنگ (golang) – مقدماتی
|
|
محمدرضا بردال |
|---|---|
|
|
60 ساعت |
|
|
Web API |
کلاسهای فعال این دوره
ﻣﺤﻤﺪرﺿﺎ ﺑﺮدال
آنلاین
کلاس بهاری
- تاریخ شروع: بهار 1405
- زمان برگزاری: 17:30 الی 20:30 شنبه ها
سرفصلهای دوره
Prerequisites •
?What are Microservices •
Monolithic Architecture •
Microservices Architecture •
- Microservice architecture
- Overview
- Autonomous
- Overall service architecture
- Choosing an eShop as a case study
- Identifying eShop services
- Starting the project by the Catalog service
- Choosing an architecture for the service
- Setup the project structure
- Create the required layers
- Clean/Onion Architecture
- Layers
- Domain
- Application
- Infrastructure
- Presentation
- Domain Driven Design (DDD)
- Value Object
- Validation Rule
- Entity
- Invariant
- Aggregate
- Aggregate Root
- Factory
- Domain Event
- Repository
- Domain Service
- Structured Error Handling
- Result Pattern
- Error
- Type
- Massage
- Test Driven Development (TDD)
- Unit Test
- Test-First, Code-First
- SUT, RIGHT-BICEP, CORRECT, RGY Development Cycle
- xUnit
- Fluent Assertion, Moq
- Live Test
- Implementing multiple unit tests for the domain layer
- Specification Pattern
- Rule Spec
- Composition
- Command Query Responsibility Segregation (CQRS)
- Command vs Query vs Event
- MeditR
- Command, Command Handler
- Event, Event Handler
- Query, Query Handler
- Behaviors o Implementing Infrastructure
- Persistence Concern
- Entity Framework Core
- Mapping Domain Model to Data Model
- Implementing Repository Pattern
- Implementing Unit of Work Pattern
- Implementing Query Service
- Cross Cutting Concern
- Structured Logging
- Exception Handling
- Input Validation
- Unit of Work
- Outbox Pattern
- Introducing EF Core Interceptor
- Saving Aggregate Events via Interceptor
- Event Processing via Service Worker
- Implementing of Service Worker through Quartz
- Domain Event Handler, Handler Factory
- Retrieve and Publish Domain Events
- Implementing an Event Handler for Published Event
- Idempotency
- Outbox Consumer Pattern
- Service Decoration
- Implementing of Service Resilient
- Introducing the Poly library
- Adding Retry Pattern
- Vertical Slice Architecture
- Install Docker for Hosting Platform
- Implementing Pricing Service
- Installing Postgres, Postgres UI via docker
- Marten Configuration
- Implementing a Repository Service for Marten
- Implementing of Pricing Service Endpoints
- Implementing Basket Service
- Installing Redis, RedisUI via docker
- Redis Configuration
- Implementing a Repository Service for Redis
- Implementing of Basket Service Endpoints
- Gateway
- Introduction
- Off-loading Patterns
- Aggregation Patterns
- Security
- Configuring YARP
- Configuring Catalog, Pricing, Basket Services in Gateway
- Service Discovery
- Installing Consul on Docker
- Configuring Service Discovery
- Automatic Service Registration
- Automatic Service Discovering
- Refactoring Gateway
- Introduction of gRPC
- Protobuf, Message Contract
- gRPC Server/Client
- Implementing gRPC Server for Catalog Service
- Implementing gRPC Server for Pricing Service
- Implementing the Aggregation Pattern in Gateway based on gRPC
- Microservice Asynchronous Communication
- Using Message Broker for Communication
- Installing RabbitMQ on Docker containers
- Using MassTransit for ServiceBus
- Creating Integration Events
- Configuring Producer and Consumer
- Integrating Services through Events and ServiceBus
- Inbox Pattern
- Implementing of Integration Event Consumer
- Event Processing via Service Worker
- Implementing of Service Worker through Quartz
- Integration Event Handler, Handler Factory
- Retrieve and Publish Integration Events
- Implementing an Integration Event Handler for Published Event
- Applying Idempotency Pattern
- Sending events to the client
- Configuring SignalR
- Setting up a Push Notification Service
- Definition of Message Contract
- Service Implementation based on Contract
- Implementing Ordering Service
- Installing MongoDB and MongoUI on Docker
- MongoDB Configuration
- Service integration with the ServiceBus
- Implementing a Repository Service for MongoDB
- Automatic Customer Registration after User Registration
- Implementing a Handler for the Basket Checkout Event
- Implementing Security Service
- Authentication
- Id Token, Access Token, Refresh Token
- Authorization
- Role Based Authorization Control (RBAC)
- Permission Based Authorization Control (PBAC)
- Configuring Authentication in Gateway
- Configure Authorization for each Service
- Authentication
- Service Hosting
- Create Docker File
- Building an Image for the Service
- Publishing and Hosting Services on Containers
- Docker-Compose
- Create Docker-Compose File
- Migrating Services and Settings to the Docker-Compose
- Building and Deploying Services via Docker
- Upping All Services
- Service Monitoring
- Distributed Tracing
- Metrics
- Open Telemetry
- Jeager
- Prometheus
- Garafana
Road Map
مسیر آموزشی
1
مبانی و پیشنیازها
- پیشنیازها
- میکروسرویسها چیست؟
- معماری تکپارچه
- معماری میکروسرویس
- مروری بر معماری
- انتخاب پروژه نمونه
VSCode
Docker
2
شروع پروژه و ساختاردهی
- شروع پروژه Catalog
- انتخاب معماری سرویس
- ساختار پروژه، لایهها: Domain, Application, Infrastructure, Presentation
VSCode
.NET SDK
3
طراحی مبتنی بر دامنه (DDD)
- Value Object
- Entity، Aggregate و Aggregate Root
- Factory
- Domain Event،
- Repository،
- Domain Service
VSCode
.NET SDK
4
توسعه مبتنی بر تست و مدیریت خطا (TDD)
- Structured Error Handling
- Result Pattern، Unit Test
- Test-First و Code-First، xUnit
- Fluent Assertions، Moq
VSCode
xUnit
Fluent Assertions
Moq
5
CQRS و Patternها
- Specification Pattern
- Command vs Query vs Event
- MediatR
- Command/Query/Event Handler
VSCode
.NET SDK
MediatR
6
پایگاه داده و Repository
- EF Core
- Mapping Domain Model
- Repository Pattern
- Unit of Work
- Query Service
VSCode
EF Core
SQL/Postgres
7
Cross-Cutting و Resiliency
- Logging
- Exception Handling
- Input Validation
- Outbox Pattern
- Service Worker با Quartz
- Poly و Retry Pattern
VSCode
Quartz.NET
Polly
8
Docker و آمادهسازی سرویسها
- Vertical Slice Architecture
- نصب Docker و آمادهسازی محیط
Docker
VSCode
9
پیادهسازی سرویسهای Pricing و Basket
- Pricing Service
- Postgres
- Marten
- Basket Service
- Redis
- Endpointها
Docker
Postgres
Redis
VSCode
10
Gateway و Service Discovery
- Gateway
- YARP
- پیکربندی سرویسها
- Service Discovery، Consul
VSCode
YARP
Consul
Docker
11
gRPC و ارتباط همزمان
- gRPC
- Protobuf
- Server/Client
- Aggregation در Gateway
VSCode
gRPC
Protobuf
.NET SDK
12
ارتباطات ناهمزمان و Event-Driven
- Message Broker
- RabbitMQ
- MassTransit
- Integration Events
- Service Worker
- Idempotency
RabbitMQ
MassTransit
Quartz
Docker
VSCode
13
Push Notification و Ordering
- SignalR
- Push Notification
- Ordering Service
- MongoDB
- Repository
- Integration با ServiceBus
MongoDB
SignalR
Docker
VSCode
14
امنیت سرویسها
- Authentication و Authorization
- RBAC
- PBAC
- پیکربندی در Gateway
VSCode
IdentityServer/ASP.NET Core
15
استقرار و مانیتورینگ
- Docker File
- Docker-Compose
- استقرار سرویسها
- مانیتورینگ
- OpenTelemetry
- Jaeger، Prometheus، Grafana
Docker
Docker-Compose
OpenTelemetry
Jaeger
Prometheus
Grafana
توضیحات
چرا یادگیری معماری میکروسرویس و الگوهای DDD و CQRS اهمیت دارد؟
معماری میکروسرویس به دلیل قابلیت مقیاسپذیری و توسعه مستقل هر سرویس، امروزه به یکی از استانداردهای اصلی در طراحی نرمافزارهای سازمانی تبدیل شده است. ترکیب این معماری با الگوی DDD به توسعهدهندگان کمک میکند تا منطق دامنه کسبوکار را بهتر مدلسازی کنند، در حالی که CQRS امکان جداسازی عملیات خواندن و نوشتن را برای بهبود کارایی و مدیریت پیچیدگی فراهم میکند. یادگیری این مفاهیم برای برنامهنویسان .NET بهمعنای توانایی ساخت سیستمهایی است که نهتنها مقیاسپذیر و انعطافپذیر هستند، بلکه از نظر ساختار کدنویسی نیز تمیز و قابل نگهداری باقی میمانند.
معرفی دوره معماری تمیز (Clean Architecture) و Vertical Slice در .NET
یکی از بخشهای مهم این دوره، آموزش Clean Architecture است که بر جداسازی لایههای نرمافزار و ایجاد کدی مستقل از جزئیات زیرساختی تمرکز دارد. این رویکرد باعث میشود سیستمها پایدارتر و انعطافپذیرتر باشند و توسعهدهندگان بتوانند تغییرات را بدون تاثیر مخرب روی کل پروژه اعمال کنند. همچنین مفهوم Vertical Slice Architecture معرفی میشود که بهجای تقسیم کد بر اساس لایهها، آن را بر اساس ویژگیها و قابلیتهای مستقل سازماندهی میکند. این معماری در کنار DDD و CQRS به توسعهدهندگان کمک میکند پروژههای پیچیده .NET را با ساختاری سادهتر و قابل نگهداریتر پیادهسازی کنند.
مزایای شرکت در دوره Clean Architecture using Docker
شرکت در دوره NET Microservices و Clean Architecture در آموزشگاه سماتک به دانشجویان این امکان را میدهد که با معماریهای مدرن و استانداردهای روز دنیا در توسعه نرمافزار آشنا شوند. مزیت بزرگ این دوره، ترکیب آموزش تئوری و پروژهمحور است؛ یعنی دانشجویان علاوه بر یادگیری مفاهیم کلیدی مانند DDD، CQRS و معماری میکروسرویس، آنها را در پروژههای واقعی پیادهسازی میکنند. استفاده از Docker برای استقرار و مدیریت سرویسها باعث میشود شرکتکنندگان توانایی طراحی نرمافزارهای مقیاسپذیر و آماده ورود به محیطهای سازمانی را کسب کنند. این موضوع مزیت بزرگی برای ورود به بازار کار محسوب میشود.
چه مهارتهایی پس از پایان این دوره به دست میآورید؟
در پایان دوره NET Microservices, DDD, CQRS, Clean Architecture with Docker، دانشجویان مجموعهای از مهارتهای کلیدی به دست میآورند. از جمله این مهارتها میتوان به طراحی و پیادهسازی میکروسرویسها با ASP.NET Core، تسلط بر مفاهیم Domain-Driven Design، پیادهسازی الگوی CQRS برای مدیریت بهتر دادهها، استفاده از Vertical Slice Architecture در سازماندهی پروژهها و استقرار سرویسها با Docker اشاره کرد. این مهارتها به دانشجویان کمک میکند تا بهعنوان توسعهدهنده Enterprise .NET Applications در پروژههای بزرگ فعالیت کنند.
ویژگیهای خاص این دوره نسبت به سایر آموزشگاهها
دوره سماتک نسبت به دورههای مشابه چند ویژگی متمایز دارد. نخست، محتوای آموزشی آن کاملاً بهروز و بر اساس آخرین نسخههای .NET و ابزارهای مدرن طراحی شده است. دوم، برگزاری دوره بهصورت لایو و پروژهمحور است که دانشجویان را بهطور مستقیم درگیر مسائل واقعی توسعه نرمافزار میکند. سوم، ترکیب چند معماری و الگوی مهم در یک دوره یکپارچه است؛ در حالی که بسیاری از آموزشگاهها تنها یک یا دو مبحث مانند میکروسرویس یا CQRS را تدریس میکنند، سماتک مجموعهای کامل از Microservices، DDD، CQRS، Clean Architecture و Docker را در قالب یک دوره جامع ارائه میدهد. این رویکرد باعث میشود دانشجویان تجربهای کامل و کاربردی به دست آورند.
بازار کار و فرصت های دوره Clean Architecture using Docker
بازار کار میکروسرویس و معماری نرمافزار در ایران و جهان بسیار پویا و رو به رشد است. سازمانهای بزرگ و استارتاپها بهدنبال معماریهایی هستند که بتوانند در مقیاس بالا پاسخگوی حجم بالای کاربران و دادهها باشند. استفاده از Microservices این امکان را فراهم میکند که هر بخش از نرمافزار بهصورت مستقل توسعه و استقرار یابد، موضوعی که در صنایع مالی، تجارت الکترونیک، سلامت و حتی دولتهای الکترونیکی اهمیت ویژهای دارد. در سطح جهانی، شرکتهای فناوری مانند مایکروسافت، آمازون و نتفلیکس با تکیه بر میکروسرویسها نرمافزارهای خود را توسعه میدهند و همین موضوع تقاضا برای متخصصان این حوزه را افزایش داده است.
فرصتهای شغلی برای متخصصان DDD و CQRS
تسلط بر Domain-Driven Design (DDD) و CQRS موقعیتهای شغلی ارزشمندی را برای توسعهدهندگان .NET ایجاد میکند. شرکتها به متخصصانی نیاز دارند که بتوانند سیستمهای پیچیده را به شکلی ساختارمند مدلسازی کنند و در عین حال کارایی عملیات خواندن و نوشتن دادهها را بهینه کنند. توسعهدهندگان مسلط به DDD و CQRS میتوانند در نقشهایی مانند Enterprise Software Architect، Backend .NET Developer، Solution Architect و Microservices Developer فعالیت کنند. این تخصصها در ایران بهویژه در شرکتهای نرمافزاری بزرگ و بانکها تقاضای بالایی دارد و در سطح جهانی نیز جزو مهارتهای پردرآمد محسوب میشود.
نقش Docker در آینده شغلی توسعهدهندگان بکاند
Docker بهعنوان یکی از اصلیترین ابزارهای DevOps و استقرار نرمافزار، نقش پررنگی در آینده شغلی توسعهدهندگان بکاند ایفا میکند. توانایی کانتینرسازی سرویسها باعث میشود برنامهها در هر محیطی بهطور پایدار اجرا شوند و فرآیند توسعه تا استقرار نهایی سادهتر شود. توسعهدهندگانی که در کنار ASP.NET Core، Microservices و DDD/CQRS به Docker نیز مسلط باشند، میتوانند در پروژههای بینالمللی و تیمهای Cloud-Native فعالیت کنند. همین موضوع Docker را به یک مهارت ضروری برای تضمین آینده شغلی توسعهدهندگان بکاند تبدیل کرده است.
پیش نیاز ها و مباحث فنی دوره Clean Architecture using Docker
برای شرکت در دوره NET Microservices و DDD در آموزشگاه سماتک، لازم است دانشجویان تسلط خوبی بر زبان C# و فریمورک ASP.NET Core داشته باشند. درک مفاهیم شیءگرایی (OOP)، آشنایی با Entity Framework و مفاهیم پایهای طراحی پایگاه داده از دیگر پیشنیازهای این دوره است. همچنین آشنایی مقدماتی با مفاهیم REST API و معماری نرمافزار به دانشجویان کمک میکند تا مباحث پیشرفتهتری مثل CQRS، Clean Architecture و Vertical Slice را بهتر درک کنند.
روش تدریس و شیوه برگزاری دوره در سماتک
دوره Microservices, DDD, CQRS, Clean Architecture در سماتک بهصورت آنلاین لایو و پروژهمحور برگزار میشود. تمامی جلسات بهطور زنده توسط مدرس ارائه میشوند و دانشجویان امکان پرسشوپاسخ مستقیم دارند. این دوره بر مبنای تمرینهای عملی و پروژههای واقعی طراحی شده تا دانشجویان علاوه بر یادگیری مفاهیم تئوری، در عمل هم تجربه کافی به دست آورند. همچنین جلسات ضبط شده و به همراه جزوات و کدهای نمونه در اختیار شرکتکنندگان قرار میگیرند تا امکان مرور مباحث در هر زمان فراهم باشد.
ابزارها و تکنولوژیهای مورد استفاده در این دوره
در این دوره، دانشجویان با مجموعهای از ابزارها و تکنولوژیهای بهروز در اکوسیستم .NET آشنا میشوند. از مهمترین آنها میتوان به .NET 7/8 برای توسعه سرویسها، Entity Framework Core برای مدیریت دادهها، Docker برای کانتینرسازی و استقرار سرویسها و Git/GitHub برای کنترل نسخه اشاره کرد. علاوه بر این، مفاهیم مرتبط با Clean Architecture، Vertical Slice Architecture و ابزارهای مربوط به پیادهسازی CQRS نیز آموزش داده میشوند. کار با Visual Studio 2022 یا VS Code و مدیریت پایگاه داده با SQL Server از دیگر بخشهای عملی این دوره هستند.
ثبت نام و شرایط دوره Clean Architecture using Docker
هزینه دوره NET Microservices و Docker در آموزشگاه سماتک متناسب با محتوای جامع و پروژهمحور آن تعیین شده است. این دوره شامل آموزش مباحث پیشرفتهای همچون DDD، CQRS، Clean Architecture، Vertical Slice و استقرار سرویسها با Docker میباشد که ارزش آموزشی بالایی دارد. شهریه بهگونهای طراحی شده که علاوه بر پوشش کامل محتوای بهروز، امکان دسترسی دانشجویان به منابع جانبی، فایلهای آموزشی و پشتیبانی تخصصی مدرس نیز فراهم باشد.
شرایط پرداخت و تخفیفهای ویژه دوره معماری تمیز
سماتک برای دورههای تخصصی خود از جمله دوره معماری تمیز و میکروسرویسها شرایط پرداخت متنوعی در نظر گرفته است. دانشجویان میتوانند شهریه را بهصورت یکجا یا در قالب اقساط پرداخت کنند. همچنین تخفیفهای ویژهای برای ثبتنام زودهنگام، دانشجویان دانشگاهی و شرکتهای سازمانی ارائه میشود. این شرایط به علاقهمندان کمک میکند بدون دغدغه مالی در دورهای جامع و پیشرفته شرکت کنند.
نحوه ثبتنام در دوره NET Microservices, DDD, CQRS with Docker
برای ثبتنام در دوره NET Microservices, DDD, CQRS with Docker کافی است به وبسایت آموزشگاه سماتک مراجعه کرده و فرم ثبتنام آنلاین را تکمیل کنید. پس از ثبتنام اولیه، تیم پشتیبانی با دانشجویان تماس گرفته و اطلاعات مربوط به زمانبندی کلاسها، نحوه پرداخت و دسترسی به جلسات آنلاین را ارائه میدهد. همچنین امکان ثبتنام حضوری در دفتر آموزشگاه برای علاقهمندانی که تمایل به مشاوره مستقیم دارند فراهم است.
سئوالات متداول
آیا این دوره مناسب برنامهنویسان مبتدی است؟
خیر. این دوره برای افرادی طراحی شده که قبلاً تجربه کار با C# و ASP.NET Core را داشته باشند و با مفاهیم پایهای طراحی نرمافزار و پایگاه داده آشنا باشند. مباحثی مانند DDD، CQRS و Clean Architecture پیشرفته هستند و برای درک بهتر آنها نیاز به دانش اولیه در توسعه نرمافزار وجود دارد.
چه تفاوتی بین Monolithic و Microservices وجود دارد؟
در معماری Monolithic تمام بخشهای یک نرمافزار بهصورت یکپارچه توسعه و استقرار مییابند که این موضوع باعث سختی در نگهداری و مقیاسپذیری میشود. در مقابل، معماری Microservices نرمافزار را به سرویسهای کوچکتر و مستقل تقسیم میکند که هرکدام میتوانند جداگانه توسعه، تست و استقرار شوند. این رویکرد انعطافپذیری بالاتری دارد و در پروژههای بزرگ و سازمانی کاربردیتر است.
مدت زمان دوره NET Microservices و DDD چقدر است؟
مدت زمان این دوره معمولاً بین ۵۰ تا ۶۰ ساعت آموزشی در چندین جلسه آنلاین لایو برگزار میشود. هر جلسه شامل بخشهای تئوری و عملی است تا دانشجویان بتوانند مفاهیم را هم از نظر علمی و هم از نظر کاربردی یاد بگیرند.
آیا در طول دوره پروژه عملی پیادهسازی میشود؟
بله. این دوره کاملاً پروژهمحور است. دانشجویان در طول دوره یک پروژه واقعی را پیادهسازی میکنند که شامل طراحی و پیادهسازی Microservices، استفاده از DDD و CQRS، پیادهسازی معماری تمیز (Clean Architecture) و استقرار سرویسها با Docker خواهد بود. این پروژه به دانشجویان کمک میکند تجربهای نزدیک به شرایط واقعی بازار کار به دست آورند.
مدرک پایان دوره چه اعتباری دارد؟
در پایان دوره، مدرک معتبر از آموزشگاه سماتک به شرکتکنندگان اعطا میشود. این مدرک نشاندهنده تسلط دانشجویان بر مفاهیم پیشرفته معماری نرمافزار در اکوسیستم .NET است و میتواند در رزومه کاری بهعنوان یک گواهی حرفهای مورد استفاده قرار گیرد.
برای تغییر این متن بر روی دکمه ویرایش کلیک کنید. لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است.
سئوالات متداول
اساتید دوره
[sematec_teachers]
دیدگاهها
اولین نفری باشید که دیدگاهی را ارسال می کنید برای “دوره NET Microservices ,DDD, CQRS,Vertical/Clean Architecture using Docker.” لغو پاسخ


دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.