.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)

.NET

Actor model and using of Akka.NET

Actor Model In the same time when first object-oriented languages were emerging, another concept inspired by general relativity and quantum mechanics was taking shape - actor model. In general terms, the Actor model was defined 1973. and was developed on a platform of multiple independent processors in a network. Similar to the object-oriented approach, this… Continue reading Actor model and using of Akka.NET

.NET

Tuples in .NET world and C# 7.0 improvements

Back in the day when I was a young developer, I was using output parameters. Then I figured out it is somewhat complicated to test functions with output parameters, and that their use is clunky at best. Also, out parameters don't work with async function, because of CLR limitations. In general, I liked them less… Continue reading Tuples in .NET world and C# 7.0 improvements