目的
- 簡單解釋單一職責原則( Single responsibility principle )程式範例
紀錄
假設有個手電筒應有以下功能
寫成介面應該如下
interface Flashlight
{
// 開燈
public function TurnOn();
// 關燈
public function TurnOff();
// 電池相關
public function Battery();
}
但如果需要修改電池相關的操作
就不能保證 TurnOn, TurnOff 不會被動到
如照 Single responsibility principle 應改成以下的樣子
interface Light
{
// 開燈
public function TurnOn();
// 關燈
public function TurnOff();
}
interface Battery
{
// 電池相關
public function Battery();
}
class Flashlight implements Light, Battery
{
#code
}