MN316
Information technology

.NET: designing and implementing maintainable, high-performance architectures

Effectively structure a backend application with .NET and key design patterns.


.NET Core has revolutionized the way backend applications are developed: dependency injection, Kestrel web server, advanced configuration management, logging, security, etc. These technologies are at the heart of .NET applications. To use them effectively, you need a solid understanding of the design patterns that structure a backend application.
This training will equip you to design and implement scalable, high-performance architectures using .NET and C#.
You will explore best practices in software design while implementing the key components of a backend application, from data management to securing REST APIs to deployment on Kubernetes. Each module is based on concrete practical applications, using a progressive and structured approach.

Objectives

Be able to design and develop a complete, modular, and secure backend application with .NET and C#, according to proven software architecture principles.

Is it for you ?

Backend developers and scalable application architects in a .NET environment

Prerequisite

This course requires a solid understanding of the fundamentals of C# programming (principles of object-oriented programming, generic types, custom attributes, lambda expressions). Experience with Visual Studio, VsCode, or Rider is also necessary.

Your benefits

  • Design maintainable .NET architectures using SOLID principles, layered structure, and best practices
  • Implement dependency injection and patterns (Strategy, Factory, Command, CQRS) to reduce coupling
  • Structure data access with Entity Framework, Dapper, and Repository and Unit of Work patterns
  • Build robust REST APIs with ASP.NET including testing, validation, and error handling
  • Deploy containerized applications using CI/CD pipelines and Kubernetes with integrated security practices
  • Content

    Introduction

    • The adoption of a common language (ubiquitous language) for better collaboration.
    • Setting objectives.
    • Review of S.O.L.I.D., KISS, DRY, and POCO principles for better maintainability.
    • The division into software layers.
    • The preference for stateless applications.
    • Overview of the .NET ecosystem.
    See more + / -

    Weak coupling with Microsoft.Extensions.DependencyInjection

    • Presentation of the Strategy and Factory design patterns.
    • The declaration of an IServiceCollection.
    • Registering a service.
    • Dependency injection.
    • Access to properties derived from an IConfiguration.
    • Coupling with Microsoft.Extensions.Logging.
    • La configuration par custom attributes.

    Exchanging messages with the Command pattern

    • The command as a representation of user inputs for a use case.
    • Routing commands to business components.
    • Validation.
    • Exception handling.
    • Transactional demarcation.
    • Implementing a CQRS (command query responsibility segregation) architecture.

    Data Access and Transaction Management

    • Different types of databases (SQL, NoSQL).
    • The CAP theorem.
    • Non-blocking execution of I/O operations to improve scalability.
    • The role of a connection pool.
    • Transactions and ACID principles.
    • The Unit of Work pattern.
    • Records and tuples for manipulating immutable data.
    • The Repository pattern (and its limitations) and its implementation in .NET: EntityFrameworkCore.
    • Mini-ORMs as a solution for developing data-driven applications, introduction to Dapper.

    Creating a REST API with ASP.NET Mvc

    • The Kestrel embedded web server and its event loop.
    • Middleware.
    • Best practices for designing a REST API.
    • API Controllers and request processing.
    • Validation.
    • Exception handling.
    • Testing a REST API.

    Creating an MVC web application with ASP.NET MVC

    • Introduction to the Model View Controller pattern.
    • Defining the model and transmitting it to the views.
    • Razor views.
    • Ajax and partial views for smoother navigation.
    • Validation.

    Securing a web application

    • Declaring a user repository with ASP.NET Identity.
    • Choosing an authentication strategy: cookie or JWT token.
    • Coupling with an OpenID Connect server.
    • Defining access rules.
    • Accessing user identity.
    • Revocation strategies.

    Continuous integration and continuous delivery

    • Review of .NET commands for creating a deliverable.
    • The 12 Factor App methodology.
    • OCI image creation.
    • Deploying an OCI image on a Kubernetes orchestrator.

    💡 Useful information

    Our training sessions are offered in Montreal or Quebec City, in person or in virtual format. Dates and locations are provided when you select your session below. If you have any questions regarding registration, schedules, the language of instruction, or cancellation policies, please consult our FAQ .

    Duration
    5 days
    Schedule
    See training dates for details
    Regular fee
    $2,395
    Preferential fee A preferential rate is offered to public institutions, to members of certain professional organizations as well as to companies that do a certain amount of business with Technologia. To know more, please read the "Registration and rates" section on our FAQ page. Please note that preferential rates are not available for online training courses. Discounts cannot be combined with other offers.
    $2,155
    Private or personalized training

    Do you have several employees interested in the same training course? Whether in person at your offices or remotely in virtual mode, we offer private training courses tailored to your team's needs. Group rates are available. Contact us for more details or request a quote online.

    Request a quote

    Request in-company training

    Do you have several employees interested in the same training course? Whether in person at your offices or remotely in virtual mode, we offer private training courses tailored to your team's needs. Group rates are available. Contact us for more details or request a quote online.

    Tell us more
    Added to cart View my cart