0

ファサード、アダプター、ラッパー、ブリッジなどのパターンは、とにかくこれらのことが行われる方法を説明していると思います。

シングルトンまたはファクトリーは些細なことだと思います-私たちのほとんどは、適切なときに自分自身を理解するでしょう。

MVCは便利ですが、通常はフレームワークを介して使用されるため、直接使用されることはあまりありません。

では、問題をよりよく解決したり、(パターンを直接使用して)より良いデザインを作成したりするのに役立つ、重要で有用なパターンは何でしょうか。

オブザーバーは通常、プレート上のサーバーですが、それを知っていると、そうでない場合でも考えやすくなります。

私は現在、ビジターパターンに苦労しています。これは些細なことではないようで、デザインに役立ちます。


もちろん、他の理由でシングルトンやMVCのようなパターンを知ることは役に立ちます。シングルトンデザインパターンを知っている場合は、コードを理解しやすくするために、コミュニケーションを改善し、標準的な方法でそれを行うことができます。

また、あなたはそれについての問題を読むことができ、したがってより良いコードを書くことができます。

同様に、MVCを知っていると、MVCを使用していない場合でも、設計を改善できます。

上記の理由は問題外です。

この質問の背景は、「パターンを使用した」というジョブスペックをよく目にすることです。文字通り答えるべきではありませんが、それは私に考えさせます。私が行っていることがラッパーまたはブリッジと呼ばれる可能性があるため、またはオブザーバーまたはMVCを使用するGUIフレームワークを使用しているという理由だけで、パターンを使用しているとは言えません。

4

3 に答える 3

2

知って使用するために、いくつかのパターンのセットに固執しないでください。SOLID設計原則をコードに適用し、リファクタリングを実行して重複コードを削除します。これは、すべての設計パターンが基づいているものです。また、SOLIDを理解すると、各パターンがどのような問題を解決するかについて明確なビジョンが得られます。後で、いくつかの問題を解決したり、重複したコードを削除したりすると、システムにStrategy、Observer、Singleton、Adapterがすでに適用されていることがわかります。

反対側から始めると、最初にデザインパターンを学ぶことで、ハンマーだけを持っているとしたら、すべてが釘のように見えます。本当に必要ないときでも、間違いなくパターンを適用しようとします。また、間違ったパターンを頻繁に適用します。

私はパターンへのリファクタリングで終わりました(まあ、90%の場合)。たとえば、状態または戦略を作成するのは、厄介な重複した条件付きロジック(つまり、それらが解決する問題)が表示された場合のみです。コードが進化し、何らかのアルゴリズムの実装が10回必要になると予測しているためではありません。それ以外の場合は、将来のために新しい役に立たないクラスを追加することで、コードを複雑にしすぎる可能性があります。HelloWorldプログラムの作成におけるデザインパターンの乱用

于 2012-12-07T09:29:01.937 に答える
0

これは、デザインパターンについて学ぶ開発者が犯す最も一般的な間違いの1つだと思います。つまり、それらは学習する必要のあるレシピであると考えています。デザインパターンはいくつかの問題を解決する方法ですが、ほとんどの場合、それを知らなくてもそれらを使用していることに気付くでしょう。

見つけることができるデザインパターンを読んで知っておくのは良いことです。そして最も重要なことは、それらが解決する問題とそれらをいつ適用するかを理解することです。多くのパターンは、それらが存在し、問題を解決できるという理由だけで、よく理解されておらず、誤って適用されています。それは、どこでもそれらを使用する必要があるという意味ではありません。

また、一度に使用しているパターンはほんの一握りです。学ぶための最良の方法は、できるだけ多くの異なるソフトウェアを書くことです。途中で必要なすべてのパターンを学ぶことができます。

于 2012-12-07T09:34:21.460 に答える
0

パターンを学習するためにHeadFirstDesignPatterns戦略を適用します。最初に使用法と制限を理解し、次に実際のパターンを理解します。

1)ファクトリおよびアブストラクトファクトリ

2)ビルダー

3)テンプレート

4)Null Objectですが、GoogleGuiceライブラリを優先しますOptional

5)ファクトリメソッド

きれいなデザインを作るのに役立つものがいくつかあります

パターンを早めに使いすぎないでください。最初に原則にしっかりしたグリップを構築します。そして、すべてのパターンが自然に表示されます。

于 2012-12-07T09:25:25.587 に答える