1.1 定義
不要存在多於乙個導致類變更的原因。通俗的說,即乙個類只負責一項職責。
1.2 問題由來
類t負責兩個不同的職責:職責p1,職責p2。當由於職責p1需求發生改變而需要修改類t時,有可能會導致原本執行正常的職責p2功能發生故障。
public
class
animal
public
void
breathingwater
(string animalname)
}
public
class
test
}
1.3 實現思路
遵循單一職責原則。分別建立兩個類t1、t2,使t1完成職責p1功能,t2完成職責p2功能。這樣,當修改類t1時,不會使職責p2發生故障風險;同理,當修改t2時,也不會使職責p1發生故障風險。
1.4 解決方案
修改後的**如下:
/**
* @author tbb
* 陸生生物
*/public
class
terrestrialorganism
}
/**
* @author tbb
* 水生生物
*/public
class
aquaticorganism
}
public
class
test
}
設計原則之單一職責原則
無論是什麼設計原則,全部都是圍繞 專案的生命週期 和 高內聚,低耦合 這兩個關鍵字。定義 單一職責原則 srp single responsibility principle 又稱單一功能原則,它規定了乙個類應該只有乙個發生變化的原因,即乙個類只負責一項職責。字面上很好理解,但是如果做起來卻很難做到...
設計原則之單一職責原則
什麼是單一職責原則 定義 有且僅有乙個使介面或類產生變化的原因。也就是說我們使類或介面變化,只能有乙個理由。但是在實際開發的過程中,我們很容易做到介面單一職責,很難做到類單一職責。例如 我們以查詢資料,處理資料,返回資料為例。如果我們這樣設計乙個介面 public inte ce iuserbo p...
設計原則 單一職責原則
定義 不要存在多於乙個導致類變更的原因。通俗的說,即乙個類只負責一項職責。問題由來 類t負責兩個不同的職責 職責p1,職責p2。當由於職責p1需求發生改變而需要修改類t時,有可能會導致原本執行正常的職責p2功能發生故障。解決方案 遵循單一職責原則。分別建立兩個類t1 t2,使t1完成職責p1功能,t...