Frameworks

Observer UML

Observer Design Pattern

Observer Design Pattern In today’s episode of Software Design Patterns you will learn everything about the Observer Design Pattern. The Observer Pattern is pretty common and widely used. Compared to the already covered creational design patterns like Singleton and Factory Method the Observer is a behavioral pattern. All the examples, source code and unit tests …

Observer Design Pattern Read More »

Custom Exception Handling in .Net Core with a Middleware

For many developers, exceptions and error handling is a pain. It distracts from the application flow. However, it is important for any decent service or application to handle it well. To tackle this problem we will use Custom Exception Handling in this tutorial. ASP.NET Core provides an easy concept for all sorts of extensions and …

Custom Exception Handling in .Net Core with a Middleware Read More »

Property and Event Binding in Angular 2+

Property and Event Binding in Angular 2+ is a very powerful tool offered by the Framework. You can easily pass values to child elements (Input) and emit changes (event binding) to the parent element (Output). The third option would be to use both as so-called two-way binding. All of the following examples and descriptions can be …

Property and Event Binding in Angular 2+ Read More »

Using Dependency Injection (DI) in .NET Core

In this tutorial Using Dependency Injection (DI) in .NET Core I am going to show you how to use Dependency Injection in an .NET Core Project. When you are creating a .NET Core Project it automatically comes with an Dependency Injection Framework pre-installed, so you don’t have to look for any other solutions nor maintain it …

Using Dependency Injection (DI) in .NET Core Read More »

Dependency Inversion Principle (DIP) – S.O.L.I.D. Framework

The fifth and final principle within the S.O.L.I.D. Framework is the Dependency Inversion Principle. The main statement of this principle is “Entities must depend on abstractions not on concretions. It states that the high level module must not depend on the low level module, but they should depend on abstractions”. On the first sight this may sounds useless, …

Dependency Inversion Principle (DIP) – S.O.L.I.D. Framework Read More »

Interface Segregation Principle (ISP) – S.O.L.I.D. Framework

The fourth principle of the S.O.L.I.D. Framework is the Interface Segregation Principle (ISP) . The main statement of this principle is “clients should not be forced to implement interfaces they don’t use“. This basically means that any software developer should use very short and small interfaces instead of one big ones. In the following example I demonstrate the …

Interface Segregation Principle (ISP) – S.O.L.I.D. Framework Read More »

Liskov’s Substitution Principle (LSP) – S.O.L.I.D. Framework

The third principle of the S.O.L.I.D. Framework is the Liskov’s Substitution Principle (LSP). The main statement of this principle is “derived types must be completely substitutable for their base types“. What does that means? Well, basically that every parent class should be replaceable by one of its derived child classes without any problems. Imagine we have …

Liskov’s Substitution Principle (LSP) – S.O.L.I.D. Framework Read More »

Open Closed Principle (OCP) – S.O.L.I.D. Framework

The second principle of the S.O.L.I.D. Framework is the Open Closed Principle (OCP). At the very first moment the combination of open and closed at the same time creates some confusion, but after we dig deeper it makes sense. The main statement of this principle is “A software module is open for extension and closed for modification“. So, …

Open Closed Principle (OCP) – S.O.L.I.D. Framework Read More »