java - 设计模式单一职责原则的理解?
怪我咯
怪我咯 2017-04-18 10:19:44
0
3
448

我们知道单一指责原则的目的是只存在一个原因引起类的变化。
那么是否可以这么理解,就是理想情况下,一个类只能有一个方法,但是这样做在实际开发过程中,会引起很多额外的麻烦,所以很多时候,it's hard to say。

可以这么理解吗?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回覆(3)
伊谢尔伦

不是吧,目前的時間進行合理的抽象(單一職責=>高內聚),正確的時間進行更加細化的抽象(重構),產品迭代的過程中重構是不可避免的,不可能一步登天。

PHPzhong

單一職責, 也就是一個類別應該只負責一件事。
關鍵是取決於你認為這件事請的粒度有多大?
字串小寫轉大寫是一件事(1)。
字串處理也是一件事(2)。
如果你認為(1)就是一個職責的話, 那麼小寫轉大寫就要寫一個類, 判斷非空要寫一個類, 字符統計就要寫一個類別。 小写转大写就要写一个类, 判断非空要写一个类, 字符统计就要写一个类。
如果你认为(2)就是一个职责的话, 那么所有字符串处理的东西都在一个类似StringUtils如果你認為(2)就是一個職責的話, 那麼所有字串處理的東西都在一個類似StringUtils類別裡面。
所以其實這是比較抽象的東西, 並沒有絕對的標準,和具體業務有一定的關係。

迷茫

不是說只有一個方法,是只能由一個維度引起的變化,這樣的好處就是職責分明,結構簡單,耦合性地,這樣的組織有利於大型程序的組織,試想一下,像QQ這樣複雜的App ,假如不執行單一職責原則,誰知道一個程序裡麵包含多少東西,改變一處會有多大影響。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板