4
A
回答
4
,不妨考慮方法
- 獲取(網址URL)
- sendRequest將(字符串請求)
這些方法都與HTTP做一個HTTP類。但是,Get和SendRequest有不同的抽象層次。獲取可能實際上使用SendRequest來發送GET請求。因此,SendRequest應該位於低級HTTP類中,Get應該位於使用低級HTTP類的高級HTTP類中。
+3
??你的推理似乎更多地集中在單一抽象層次原則上,而不是圍繞OP要求的單一責任原則? – 2010-09-30 19:08:26
2
這很有趣,因爲另一個StackOverflow user幾個小時前在his question顯示這樣的例子。
考慮這個類:
[Serializable]
class MyClass
{
//Serializable fields
public void Save()
{
//Saving data into file
}
public void Load()
{
//Loading data from file
}
}
這個類(MyClass的),有幾個不同的角色:
這個類是可序列
這個類可以節省一些存儲他的狀態
在許多情況下,這不是一個好主意,因爲當我們希望將持久存儲從簡單二進制文件更改爲Xml文件或遠程存儲(例如通過WCF)時,我們無法輕鬆地重用此序列化實體。
您可以創建子類,像MyClassWCFSaver,但即使在這種情況下,它更容易使用序列化MyClass類和MyClassSavers的獨立的層次結構(與幾個不同sublcasses對XML,二進制或WCF存儲器)
BTW,這就是爲什麼在許多ORM中,我們經常從存儲庫中區分實體(請參閱Repository Pattern)。
相關問題
- 1. PetClinic例子破單個責任原則
- 2. 單一責任原則
- 3. 單一責任原則webapi
- 4. 什麼是單一責任原則的例子?
- 5. 是單一責任原則OOP的一個規則?
- 6. 幫助理解單一責任原則
- 7. 單一責任原則是否違規
- 8. 單一責任原則和課
- 9. 單一責任原則和知識庫
- 10. 單一責任原則 - 功能
- 11. 單一責任原則和Backbone.View
- 12. 在以下示例中對單責任原則感到困惑
- 13. 單一責任原則:改變原因的粒度
- 14. 代碼遵守單一責任原則和單元測試
- 15. 這個班是否遵循單一責任原則?
- 16. 這個ruby模式是否遵守單一責任原則?
- 17. 單一職責原則的實現
- 18. 按單責任原則重構方法
- 19. 單一職責原則綜合類
- 20. 瞭解單一職責原則
- 21. 單一職責原則和聚合
- 22. 單一責任原則(SRP)和我的服務類別
- 23. 我的代碼是否違反單一責任原則?
- 24. 什麼時候違反單一責任原則是合理的?
- 25. 單一責任原則與分離擔憂的區別
- 26. 這是單一責任原則的正確實施
- 27. 瞭解SOLID設計的單一責任原則
- 28. 違反Java核心迭代器中的單一責任原則
- 29. 難以得到一個簡單的例子工作:問題#34
- 30. 您違反單一責任原則的最佳範例是什麼?
根據傳統的SOLID教導,您還可以在一個類中搜索多個「更改原因」來查找SRP違規。 – bzlm 2010-09-30 09:38:26