CourseTopics2024_2
CourseTopics2024_2
NET 8 in
2024.
Topics
Clean Architecture
Domain Driven Design
Global Error Handling
CQRS && Mediator
CI CD
Caching
Logging
Api Versioning
Generic Repository && Unit Of Work
Dapper with EF core
SignalR real time notifications
SOLID
Design Patterns (Dependency Injection, Specification pattern, Options
Pattern)
Custom Middleware
JWT Token and Refresh Token
Event Sourcing in .NET
Interceptors
1. Dependency Injection and Inversion of Control
Microsoft.Extensions.DependencyInjection:
Built-in dependency injection container.
Autofac:
A popular IoC container with more advanced features
than the built-in container.
2. Data Access
Entity Framework Core:
Microsoft's Object-Relational Mapper (ORM) for .NET Core.
Microsoft.EntityFrameworkCore.SqlServer:
Provider for SQL Server.
Microsoft.EntityFrameworkCore.Tools:
Tools for EF Core migrations.
Microsoft.EntityFrameworkCore.Design:
Design-time utilities for EF Core.
Dapper: A simple and lightweight ORM for .NET Core, used
for more direct SQL access.
Npgsql.EntityFrameworkCore.PostgreSQL: Provider for
PostgreSQL databases with EF Core.
8. Background Processing
Hangfire: A library for handling background tasks and
scheduled jobs.
Quartz.NET: A robust job scheduling library for .NET
applications.
9. Testing
xUnit: A popular testing framework for .NET.
Moq: A popular mocking library for .NET.
FluentAssertions: An assertion library for better
readability in tests.
<Project>
<ItemGroup>
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="8.0.0" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer"
Version="8.0.0" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Tools"
Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Logging" Version="8.0.0" />
<PackageVersion Include="Serilog.AspNetCore" Version="5.0.0" />
<PackageVersion Include="Serilog.Sinks.Console" Version="4.0.0" />
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.5.0" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer"
Version="8.0.0" />
<PackageVersion
Include="AutoMapper.Extensions.Microsoft.DependencyInjection"
Version="11.0.0" />
<PackageVersion Include="FluentValidation" Version="11.0.0" />
<PackageVersion Include="Hangfire.AspNetCore" Version="1.8.0" />
<PackageVersion Include="xunit" Version="2.5.0" />
<PackageVersion Include="Moq" Version="5.0.0" />
<PackageVersion Include="FluentAssertions" Version="6.10.0" />
<PackageVersion Include="Polly" Version="8.0.0" />
<PackageVersion Include="System.Text.Json" Version="8.0.0" />
</ItemGroup>
</Project>
- xUnit
- JWT
- Refit
- Quartz
- Bogus
- Serilog
- Dapper
- EF Core
- MediatR
- NSubstitute
- FluentValidation
- System.Text.Json
clean arch
Mediate + cqrs, behaviors identity validation
Middlewares
Domain, integration & application events
Unit & integration test + Moq
Exception handling
Repo & UOW
Services in mediteR
Roles, jwt & identity
Upload files using base64, form data
Upload file by save path or save byte array
Dtos
DDD, value objects & aggregation
Dapper with EF core
EF eager, lazy & explicit loading
Inserting & updating or deleting with details
As no tracking
Func, action, delegates & expression
Threads, parallism & yeild
Background service, windows service & queues,
SignalR
Action filters
Performance test Like Benchmark
Records
Logging
Span
Reflection
Service provider
Caching