0% found this document useful (0 votes)
2 views

CourseTopics2024_2

The document outlines a comprehensive roadmap for mastering .NET 8 in 2024, covering essential topics such as Clean Architecture, Domain Driven Design, and various libraries and tools like Entity Framework Core, Serilog, and Hangfire. It includes detailed sections on dependency injection, data access, logging, APIs, authentication, background processing, and performance optimization. Additionally, it provides a sample package management file for centralizing dependencies in a .NET Core solution.

Uploaded by

islamgpt520
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

CourseTopics2024_2

The document outlines a comprehensive roadmap for mastering .NET 8 in 2024, covering essential topics such as Clean Architecture, Domain Driven Design, and various libraries and tools like Entity Framework Core, Serilog, and Hangfire. It includes detailed sections on dependency injection, data access, logging, APIs, authentication, background processing, and performance optimization. Additionally, it provides a sample package management file for centralizing dependencies in a .NET Core solution.

Uploaded by

islamgpt520
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

Roadmap towards mastery .

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.

3. Logging and Monitoring


Serilog:
A powerful logging library that integrates well with .NET
Core.
Serilog.AspNetCore: Integration with ASP.NET Core.
Serilog.Sinks.Console: Console sink for Serilog.
Serilog.Sinks.File: File sink for Serilog.
NLog: Another popular logging library.
NLog.Web.AspNetCore: Integration with ASP.NET Core.
4. APIs and Middleware
Swashbuckle.AspNetCore:
Swagger integration for API documentation.
NSwag.AspNetCore:
An alternative to Swashbuckle for Swagger/OpenAPI
documentation.

5. Authentication and Authorization


Microsoft.AspNetCore.Authentication.JwtBearer:
JWT Bearer token authentication.
Microsoft.AspNetCore.Identity: Identity management for
ASP.NET Core.

6. HTTP Clients and Communication


Refit: A REST library for .NET Core, simplifying HTTP API
calls.
RestSharp: Another popular library for making HTTP
requests.
7. Validation and Mapping
FluentValidation: A popular validation library for .NET.
AutoMapper: A library for object-to-object mapping, useful
for converting between different layers (e.g., DTOs to
domain models).

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.

10. Performance and Caching


StackExchange.Redis: A Redis client for .NET, used for
caching and other Redis functionalities.
Microsoft.Extensions.Caching.Memory: In-memory caching
for .NET Core applications.
Polly: A resilience and transient-fault-handling library,
often used for implementing retries and circuit breakers.
11. Other Useful Packages
MediatR: A simple mediator pattern implementation
in .NET for CQRS.
Newtonsoft.Json: A popular JSON library for .NET, though
System.Text.Json is now preferred for new projects.
HtmlAgilityPack: A library for parsing and manipulating
HTML.
Sample Directory.Packages.props
Here is an example Directory.Packages.props file for
central package management in a .NET Core solution:

<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

You might also like