A class should have only one responsibility
Responsibility is the work that has been assigned to the class. In the SOLID set of principles, the S stands for the SRP. When applied to a class, the SRP states that the class must only work on a single aspect of the feature being implemented. The responsibility of that single aspect should be fully encapsulated within the class. Therefore, you should never apply more than one responsibility to a class.
Let’s look at an example to understand why:
public class MultipleResponsibilities{ public string DecryptString( string text, SecurityAlgorithm algorithm) { // ...implementation... } public string EncryptString( string text, ...