設計模式 單一職責原則

2021-07-09 06:34:53 字數 624 閱讀 7202

單一職責原則srp

single responsibility principle,

又稱單一功能原則,規定乙個類應該只有乙個發生變化的原因。

所謂職責是指類變化的原因。如果乙個類有多於乙個的動機被改變,那麼這個類就具有多於乙個的職責。而單一職責原則就是指乙個類或者模組應該有且只有乙個改變的原因。

如果乙個類承擔的職責過多,就等於把這些職責耦合在一起,乙個職責的變化可能會削弱或者抑制這個類完成其他職責的能力,這種耦合會導致脆弱的設計,當變化發生時,設計會遭受到意想不到的破壞。

就像手機,主要職責是打**,不過現在功能多了,雖然功能全面了,但是在某些時刻功能過多並不是好事,就如照相不如相機

單一職責原則並不是乙個孤立的

物件導向

設計原則,它是物件導向設計五個基本原則(solid)之一。這些原則是:

單一職責原則

、開閉原則

、介面隔離原則

、黎克特制替換原則

和依賴倒置原則

。這些原則被一起應用時可以使乙個軟體系統更易被維護和擴充套件。這些原則被典型的應用在測試驅動開發上,並且是

敏捷開發

以及自適應軟體開發等指導思想的重要組成部分。

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

定義 乙個物件應該只包含單一的職責,並且該職責被完整地封裝在乙個類中。即 不要存在多於乙個導致類變更的原因。通俗的說,就是乙個類只負責一項職責。問題由來 類t負責兩個不同的職責 職責p1,職責p2。當由於職責p1需求發生改變而需要修改類t時,有可能會導致原本執行正常的職責p2功能發生故障。解決方案 ...

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

對類來說的,即乙個類應該只負責一項職責。假如類a負責多項職責,當其中一項職責需求發生變更時,可能對其他職責的執行造成影響。例如 類a負責實現 訂單資料持久化 職責 和 使用者資料持久化 職責,那麼當我們需要修改 使用者資料持久化 需求時,由於 糅雜在乙個類裡,可能會對 訂單資料持久化 的職責造成影響...

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

1.概念 對類來說的,即乙個類應該只負責一項職責。如類a負責兩個不同職責 職責1,職責2。當職責1需求變更而改變a時,可能造成職責2執行錯誤,所以需要將類a的粒度分解為a1,a2。2.問題的提出 package com.atguigu.principle.singleresponsibility p...