Blogbeiträge

Softwareuniversum
Methodik
Stefan Lieser

Das Softwareuniversum

Im Bereich Softwareentwicklung gibt es viele Begriffe, die definiert und eingeordnet werden müssen. Ferner brauchen wir einen definierten Prozess, mit dem wir von den Anforderungen zum Code gelangen. Das Softwareuniversum soll dabei helfen, Begriff zu definieren und einen Ablauf zu verdeutlichen. Inhaltsübersicht Clean Code Developer Werte Im Rahmen der Clean

Weiterlesen »
Modulhierarchie
Methodik
Stefan Lieser

Die Modulhierarchie

Softwareentwickler und -entwicklerinnen verwenden manchmal Wörter, ohne dass ihnen die Bedeutung klar ist. Beispiele gefällig? Was ist ein Modul? Oder eine Komponente? Bei Methode und Klasse werden wir uns sicher schnell einig. Aber einige Begriffe erfordern eine Definition. Wir haben daher eine Modulhierarchiedefiniert, in der die „Behälter für Logik“ untergebracht

Weiterlesen »
Methodik
Stefan Lieser

Softwarearchitektur: Verantwortlichkeiten und Abhängigkeiten

Das Thema Softwarearchitektur wird immer wieder von Teams diskutiert. Welche Architektur sollen wir verwenden? Lieber Clean Architecture oder die Hexagonale Architektur? Was sind nochmal die Unterschiede? Und dann gibt es da doch noch dieses neue IODA Dings. Taugt das was? In diesem Beitrag möchte ich die Struktur von Software betrachten

Weiterlesen »
Horizontal Schneiden
Methodik
Björn Geisemeyer

Agil Entwickeln Teil 2: Anforderungen vertikal zerlegen

Ausgangspunkt der “Agil entwickeln” Beiträge ist ein Projekt namens SVG Editor. Diesem soll eine neue Interaktion, zum Export einer Grafik als PDF mit Wasserzeichen, hinzugefügt werden. Abbildung 1 Abbildung 2 Im ersten Artikel habe ich gezeigt, wie User Stories vertikal zu technischen Anforderungen zerlegt werden.Das Ergebnis war eine Interaktion mit den drei

Weiterlesen »
Agil entwickeln
Methodik
Björn Geisemeyer

Agil entwickeln Teil 1: User Stories vertikal betrachten

Über 20 Jahre ist es her, dass das Agile Manifest veröffentlicht wurde. Seitdem hat sich in der Softwareentwicklung einiges geändert. Die früher üblichen Wasserfallmodelle wurden durch Entwicklungsstrategien ersetzt, die für Software weitaus angepasster sind. Management-Tools wie Kanban oder Scrum sind mittlerweile in vielen Firmen vertreten. Sie stellen den Rahmen für die agile

Weiterlesen »
Dependency Injection und Lifecycle
Methodik
Stefan Lieser

Dependency Injection und Lifecycle

Planung und Umsetzung von Abhängigkeiten sind das Thema diverser Prinzipien. Wer bei der Softwareentwicklung nicht auf die Struktur der Abhängigkeiten achtet, landet schnell im Chaos. Für viele Entwickler bedeutet das allerdings, dass sie „überall“ Interfaces einziehen. Als CCD Akademie betrachten wir das Thema etwas differenzierter und empfehlen den Einsatz des

Weiterlesen »
Methodik
Stefan Lieser

Konfiguration einer .NET Core App ohne appsettings.json in Docker

Seitdem Microsoft sich mit .NET Core dazu entschlossen hat, dass .NET auch Linux unterstützen soll, eignet sich .NET Core ganz hervorragend als Basis für Anwendungen, die in Docker ausgeführt werden. Damit wird das Deployment von .NET Core Anwendungen drastisch vereinfacht. In Kombination mit docker-compose besteht ein Deployment darin, den folgenden Befehl auszuführen:

Weiterlesen »
Methodik
Stefan Lieser

Clean Architecture vs. Onion Architecture vs. Hexagonale Architektur

Es gibt drei Architekturmodelle, die immer wieder genannt und angewandt werden: Hexagonale Architektur (Ports and Adapters) Onion Architecture Clean Architecture In unseren Trainings wird immer wieder diskutiert, wo die Unterschiede liegen: Clean Architecture vs. Onion Architecture – welche ist besser? Im Folgenden wird beleuchtet, worin sich die drei Ansätze unterscheiden

Weiterlesen »
Methodik
Björn Geisemeyer

Exceptions: Strategien und Best Practices

Wie der Titel schon vermuten lässt, werde ich in diesem Beitrag verschiedene Strategien für den Umgang mit Exceptions beleuchten. Eine Exception zu fangen oder zu werfen ist einfach. Aber wie gehe ich sinnvoll vor? Wichtig ist die Berücksichtigung der Fehlerkategorien. Jede Ausnahme kann einer Fehlerkategorie zugeordnet und entsprechend behandelt werden.

Weiterlesen »
Exceptions sind keine Fehler
Methodik
Björn Geisemeyer

Warum Exceptions keine Fehler sind

Das Thema Fehlerbehandlung wird in vielen Unternehmen nicht oder ungenügend vermittelt. Ich habe an meinen Arbeitsplätzen nie eine klare Definition bekommen, was “Fehler” sind und wie ich damit umgehen sollte. So geht es offensichtlich vielen, denn diese Wissenslücke führt unter anderem zu der verbreiteten, schlechten Angewohnheit, die sich defensive Programmierung

Weiterlesen »
Aus die Maus, mehr gibt's nicht.
de_DEGerman