Sign in

1 SRP (Single Responsibility Principle):

Each class in your system should have a single responsibility. However, what exactly constitutes a responsibility. It is very subjective; different developers might have different definition of a “single responsibility.” A more practical definition is that there should only be one reason for a class to change. See the example below, where the Employee class has three methods. Each method has a separate reason for change; thus, three different reasons to change the Employee class, which violates the SRP.

An example of Employee class that violates the Single Responsibility Principle

After applying the SRP, we need to change the classes as follows:


ssh-agent is a key manager for SSH. It holds your keys and certificates in memory, unencrypted, and ready for use by ssh. It saves you from typing a passphrase every time you connect to a server. It runs in the background on your system, separately from ssh, and it usually starts up the first time you run ssh after a reboot. The ssh-agent keeps your private key secure because it doesn’t write them to disk and doesn’t allow exporting them.

Keys stored in ssh-agent are only used for signing messages and not for encrypting and decrypting traffic. …

Mahmood Khan

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store