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.