.NET, Design

Abolishing Switch-Case Statement and Pattern Matching in C# 7.0

There are many arguments on the web regarding the switch-case statement. It seems that half of the programmers think that switch-case statement is actually an anti-pattern, and other half claims there are in fact use cases for this concept. Usually, the second group tries to prove a point that in some simple situations it is alright… Continue reading Abolishing Switch-Case Statement and Pattern Matching in C# 7.0

.NET, Design

Different ways to implement Singleton in .NET (and make people hate you along the way)

The Singleton Pattern is probably the most well-known design patterns that came out of Gang of Four's book Design Patterns: Elements of Reusable Object-Oriented Software. This pattern is one of the creational patterns, and basically, it ensures that only one object of a particular class is created and shared among other members of the system.… Continue reading Different ways to implement Singleton in .NET (and make people hate you along the way)

Design

Single Responsibility Principle on different levels of abstraction

Somewhere in the early 2000s Robert C. Martin, most commonly known as Uncle Bob, came up with first five principles of Object Oriented Programming and Design - SOLID principles. SOLID is one astute acronym, in which each letter stand for different principle: S - Single Responsibility Principle O - Open Close Principle L - Liskov Principle of Substitution… Continue reading Single Responsibility Principle on different levels of abstraction