設計模式 七大原則 單一職責原則

2021-10-25 11:32:23 字數 1084 閱讀 9614

****** responsibility principle(srp)乙個類或者模組只負責完成乙個職責(或者功能)

類和模組的兩種理解:

把模組看作比類更加抽象餓概念,類也可以看作模組

把模組看作壁壘更加粗粒度的**快,模組中包含多個類,多個類組成乙個模組

不是。不管是應用設計原則還是設計模式,最終的目的還是提高**的可讀性、可擴充套件性、復用性、可維護性

class

vehicle

}public

class

singleresponsibility01

}

注: 在方式1中的run方法中,違反了單一職責原則

public

class

singleresponsibility02

}/**

* 1.遵守單一職責原則

* 2.但是這樣做的改動太大,即將類分解,同時修改客戶端

* 3.改進:直接修改vehicle類,改動**會比較小=》方案三

*/class

roadvehicle

}class

airvehicle

}class

watervehicle

}

public

class

singleresponsibility03

}//方式3的分析

//1. 這種修改方法沒有對原來的類做大的修改,只是增加方法

//2. 這裡雖然沒有在類這個級別上遵守單一職責原則,但是在方法級別上,仍然是遵守單一職責

class

vehicle03

public

void

runair

(string vehicle)

public

void

runwater

(string vehicle)

}

注:以上兩種解決方式沒有好壞之分,只是關注粒度不同,實際應用中應根據情況,選擇合適的粒度

設計模式 七大原則 單一職責原則

singleresponsibility 對類而言,乙個類只負責一項職責。如果類a負責兩個不同的職責 職責1和職責2 當職責1需求變更改變a時,可能就會造成職責2執行錯誤 所以需要將類a的粒度分解為a1,a2a.降低類的複雜度,乙個類只負責一項職責 b.提高類的可讀性,可維護性 c.降低變更引起的風...

設計模式七大原則 單一職責原則

乙個類應該只負責一項職責。如類 a 負責兩個不同職責 職責 1,職責 2。當職責 1 需求變更而改變 a 時,可能造成職責 2 執行錯誤,所以需要將類 a 的粒度分解為 a1,a2 以交通工具為案例進行講解 1 public class singleresponsibility1 8 910clas...

設計模式七大原則之單一職責原則

單一職責原則 不要存在多於乙個導致類變更的原因。通俗的說,即乙個類只負責一項職責。也就是類a 如果負責兩項任務t1和t2,如果當t1職責需求變更需要修改類a,可能會對t2導致影響或故障 這個時候我們就需要將任務t1和t2分離開來,遵循單一原則,既修改t1,t2不受影響 舉個例子 class anim...