# 單一職責原則(SRP: Single Responsibility Principle) ###### tags: `Design Patterns` `book` `principle` 這個原則強調的是「當設計封裝成一個類別時,該類別應該只負責一件事」。當然,這與在類別抽象化的過程中,對於該類別應該負責哪些功能有關。一個類別應該只負責系統中一個單獨功能的實作,但是對於功能的切分及歸屬,通常也是開發過程中最困擾設計者的。程式設計師在一開始時不太容易實現這個原則,但是會因著在專案開發過程中,不斷地往同一個類別上增加功能,最後導致類別過於龐大、介面過於複雜後才會發現問題:單一類別負責太多的功能實作,導致於類別難以維護,也不容易了解該類別的主要功能,最後也可以讓整個專案過度依賴於這個類別,使得專案或這個類別失去彈性。 但是,只要透過不斷地進行「類別重購」,將類別中與實作相關功能的部份抽取出來,另外封裝成新的類別,之後再利用組合的方式將新增的類別加入原類別之中,慢慢地就能達成類別單一職責化的要求—也就是專案中的每一個類別,只負責單一功能的實作。 ```python class ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up