Blog posts

Softwareuniversum
Methodology
Stefan Lieser

The software universe

In the field of software development, there are many terms that need to be defined and categorized. We also need a defined process to get from the requirements to the code. The software universe is intended to help define terms and clarify a process. Content overview Clean Code Developer values As part of the Clean

Read more "
Modulhierarchie
Methodology
Stefan Lieser

The module hierarchy

Software developers sometimes use words without realizing what they mean. Want some examples? What is a module? Or a component? We're sure to quickly agree on method and class. But some terms require a definition. We have therefore defined a module hierarchy in which the "containers for logic" are housed.

Read more "
Methodology
Stefan Lieser

Software architecture: responsibilities and dependencies

The topic of software architecture is discussed by teams time and again. Which architecture should we use? Clean architecture or hexagonal architecture? What are the differences again? And then there's this new IODA thing. Is it any good? In this article, I would like to look at the structure of software

Read more "
Horizontal Schneiden
Methodology
Björn Geisemeyer

Agile development part 2: Breaking down requirements vertically

The starting point for the "Agile development" contributions is a project called SVG Editor. A new interaction for exporting a graphic as a PDF with a watermark is to be added to this. Figure 1 Figure 2 In the first article, I showed how user stories are broken down vertically into technical requirements, resulting in an interaction with the three

Read more "
Agil entwickeln
Methodology
Björn Geisemeyer

Agile development part 1: Looking at user stories vertically

It has been over 20 years since the Agile Manifesto was published. A lot has changed in software development since then. The previously common waterfall models have been replaced by development strategies that are far more suitable for software. Management tools such as Kanban or Scrum are now used in many companies. They provide the framework for agile

Read more "
Dependency Injection und Lifecycle
Methodology
Stefan Lieser

Dependency injection and lifecycle

The planning and implementation of dependencies is the subject of various principles. If you don't pay attention to the structure of dependencies during software development, you will quickly end up in chaos. For many developers, however, this means that they are "all over the place" with interfaces. As the CCD Academy, we take a more differentiated view of the topic and recommend the use of the

Read more "
Methodology
Stefan Lieser

Configuration of a .NET Core App without appsettings.json in Docker

Since Microsoft decided with .NET Core that .NET should also support Linux, .NET Core has been an excellent basis for applications that run in Docker. This drastically simplifies the deployment of .NET Core applications. In combination with docker-compose, deployment consists of executing the following command:

Read more "
Methodology
Stefan Lieser

Clean Architecture vs. Onion Architecture vs. Hexagonal Architecture

There are three architecture models that are repeatedly mentioned and used: Hexagonal architecture (Ports and Adapters) Onion architecture Clean architecture In our training courses, we often discuss the differences between clean architecture and onion architecture - which is better? The following section highlights the differences between the three approaches

Read more "
Methodology
Björn Geisemeyer

Exceptions: strategies and best practices

As the title suggests, in this article I will look at different strategies for dealing with exceptions. Catching or throwing an exception is easy. But how do I proceed sensibly? It is important to consider the error categories. Each exception can be assigned to an error category and handled accordingly.

Read more "
Exceptions sind keine Fehler
Methodology
Björn Geisemeyer

Why exceptions are not errors

In many companies, the topic of error handling is either not taught at all or not sufficiently. I have never been given a clear definition of what "errors" are and how I should deal with them at my workplace. This is obviously the case for many people, because this lack of knowledge leads, among other things, to the widespread bad habit of defensive programming.

Read more "
That's all there is to it.
en_USEnglish