Single Responsibility Principle (SRP)

Back to Index

Introduction

The Single Responsibility Principle (SRP) is one of the core principles of object-oriented programming. It states that a class should have only one reason to change, meaning it should have only one job or responsibility.

Benefits

Example

Consider a class that handles both user authentication and logging user activity:

class UserManager {
    void authenticateUser(String username, String password) {
        // Authentication logic
    }

    void logUserActivity(String activity) {
        // Logging logic
    }
}
            

This violates SRP because the class has more than one responsibility. To fix this, separate these responsibilities into different classes:

class Authenticator {
    void authenticate(String username, String password) {
        // Authentication logic
    }
}

class ActivityLogger {
    void log(String activity) {
        // Logging logic
    }
}
            

Takeaway

By following SRP, you ensure that each class is focused on a single responsibility, making your codebase easier to maintain and extend.

Back to Index