Single responsibility principle(SRP). What defines a reason to change?
在物件導向開發中大家或多或少聽過SOLID,SOLID的每個字母分別代表了物件導向開發中的五個原則,本篇的重點是其中的S,也就是Single responsibility principle(SRP),單一職責原則。
什麼是單一職責原則呢?最廣泛也最常聽到的的定義是Robert C. Martin所說的:
A class should have only one reason to change.
翻譯成:一個類別只能有一個改變的理由(原因)。
那麼問題來了,到底什麼改變的理由(原因)?