1. 程式人生 > >設計模式原則1----單一職責原則

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

個人部落格:開啟連結

1、官方定義

單一職責原則,英文縮寫SRP,全稱Single Responsibility Principle。

原始定義:There should never be more than one reason for a class to change。

官方翻譯:應該有且僅有一個原因引起類的變更。簡單點說,一個類,最好只負責一件事,只有一個引起它變化的原因。

2、自己理解

上面的定義不難理解,引起類變化的原因不能多於一個。也就是說每一個類只負責自己的事情,此所謂單一職責。

我們知道,在OOP裡面,高內聚、低耦合是軟體設計追求的目標,而單一職責原則可以看做是高內聚、低耦合的引申,將職責定義為引起變化的原因,以提高內聚性,以此來減少引起變化的原因。職責過多,可能引起變化的原因就越多,這將是導致職責依賴,相互之間就產生影響,從而極大的損傷其內聚性和耦合度。單一職責通常意味著單一的功能,因此不要為類實現過多的功能點,以保證實體只有一個引起它變化的原因。