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

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

可以这么理解吗?

怪我咯
怪我咯

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

全員に返信(3)
伊谢尔伦

いいえ、現時点では合理的な抽象化 (単一の責任 => 高い凝集性) を実行する必要があり、より詳細な抽象化 (リファクタリング) を実行するのが適切な時期です。 リファクタリングは製品の反復プロセスでは避けられず、不可能です。ワンステップで。

いいねを押す +0
PHPzhong

単一責任、つまり、クラスは 1 つのことに対してのみ責任を負う必要があります。
重要なのは、これがどの程度の粒度であると考えるかによって決まるということです?
文字列を小文字から大文字に変換することは 1 つのことです (1)。
文字列の扱いも大事です(2)。
(1) が責任だと思うなら、小文字を大文字に変換する空でないことを判断するためのクラスを作成し、 のクラスを作成する必要があります。文字統計 クラスを作成する必要があります。 小写转大写就要写一个类, 判断非空要写一个类, 字符统计就要写一个类。
如果你认为(2)就是一个职责的话, 那么所有字符串处理的东西都在一个类似StringUtils(2) が責任だと思うなら、すべての文字列処理は StringUtils のようなクラスにあります。
つまり、これは実際には比較的抽象的なものであり、絶対的な基準はなく、特定のビジネスと一定の関係があります。

いいねを押す +0
迷茫

方法が 1 つしかないということではなく、1 つの側面によってのみ引き起こされる変化です。この利点は、責任が明確で、構造が単純であり、結合が大規模な組織に適していることです。 QQ のような複雑なアプリを想像してみてください。単一責任の原則が実装されていない場合、プログラムにどれだけのものが含まれ、変更がどの程度の影響を与えるかは誰にも分かりません。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート