Masterclasses
GOTO Amsterdam 2023

Monday Jun 26
09:00 –
16:00

Clean Architecture in practice

Short description

A good application architecture should allow you to respond to change, without complicating new development too much. Being able to write readable and testable code is often a concern for teams, and thus they apply the principles that are outlined in the Clean Code book by Robert C. Martin. When those principles get extrapolated to an architecture level, we arrive at Clean Architecture. In this workshop, we will explore the key concepts of Clean Architecture and apply them in a demo project.

Description

A good application architecture should allow you to respond to change, without complicating new development too much. Being able to write readable and testable code is often a concern for teams, and thus they apply the principles that are outlined in the Clean Code book by Robert C. Martin. When those principles get extrapolated to an architecture level, we arrive at Clean Architecture. Building onto the principles of Clean Code and SOLID, we will build an API that uses the Clean Architecture principles to structure its code. Structuring your solutions in this way will help you produce a codebase that is easier to change and maintain. To make sure we focus on the principles and patterns, we will avoid using external libraries as much as we can. This will also make it easier for people who don’t work in C# daily to follow this workshop and take home the concepts.

Covered Topics

During this masterclass, you will learn about:

  • The SOLID principles
  • Structuring code into components
  • Building clean abstractions
  • Using a database in a Clean Architecture scenario
  • Integrating with external systems

Target audience

To attend this masterclass, you should be a developer with:

  • An understanding of the C# programming language
  • A basic knowledge of how to use a SQL Server database from code Coding along, while encouraged, is not required to follow this 1 day masterclass. All code will also be demonstrated on screen.

Laptop setup

If you desire to participate in the coding, your laptop should have the following:

  • Your .NET IDE of choice (Visual Studio or Rider)
  • .NET 6 SDK
  • A working SQL server instance (LocalDB will do just fine)
  • A working internet connection