Covariance

Covariance & Contravariance are one of the most confusing terms in C#, no surprise it’s very popular for geeky questions in job interviews. Any time someone mentions those terms, it takes quite a while to refresh my knowledge about it. So, I decided to write a couple posts explaining them in the simplest and shortest […]

Continue reading


 SOLID – Single Responsibility

Def. A class should have only a single responsibility. “S” in SOLID acronym stands for Single Responsibility Principle. The definition seems quite obvious, intuitive and simple. But it’s not. Let’s clarify it. In order to proceed, I will introduce 2 new terms: Business Responsibility is business requirement, functionality that describe public class’ interface. It usally comes from client’s […]

Continue reading