我正在推遲一位同事的設計,並且想知道在這種情況下誰的SRP應用是正確的。單一責任原則(SRP)在何種抽象層次上不再有意義?
我看到SRP主要與較低層次的設計細節有關,例如階級責任。隨着抽象層次的提升,我認爲SRP仍然是相關的,但是單一責任的定義必然也會向更高的抽象層次發展。
在我的具體情況中,「處理foos,存儲結果並提供對這些結果的訪問權限」的服務具有「foo處理子系統」的單一責任,但是一位同事不同意並將其視爲2-3個獨立的職責。我的情況是,如果你總是將單一責任分解爲細節,那麼擁有「銀行」是SRP的違規行爲,因爲它「持有資金,維護賬戶,出售抵押貸款......」。
看到這個問題,它的答案是:http://stackoverflow.com/questions/2455705/how-do-you-determine-how-coarse-or-fine-grained-a-responsibility-should-be-when – User 2011-07-23 00:18:55