The concept of good or bad design is relative. At the same time, there are some programming standards, which in most cases guarantee effectiveness, maintainability, and testability. For example, in object-oriented languages, this is the use of encapsulation, inheritance, and polymorphism. There is a set of design patterns that in a number of cases have a positive or negative effect on the application design depending on the situation. On the other hand, there are opposites, following which sometimes leads to the problem design.
In this article, I will try to describe one of the famous principles of the object oriented programming, that is a part of another famous term – SOLID. This principle is called Single Responsibility, and it states that:
A class should have only one reason to change. Read More