separation-of-concernssolid-principlessingle-responsibility-principle

Difference between Single Responsibility Principle and Separation of Concerns


What is the difference between Single Responsibility Principle and Separation of Concerns?


Solution

  • Single Responsibility Principle (SRP)- give each class just one reason to change; and “Reason to change” == “responsibility”. In example: Invoice class does not have a responsibility to print itself.

    Separation of Concerns (since 1974). Concern == feature of system. Taking care of each of the concerns: for each one concern, other concerns are irrelevant. Hiding implementation of behavior.

    From here.