テクノロジー固有の場合、それはまだ設計パターンですか?

StackOverflow https://stackoverflow.com/questions/1605200

  •  05-07-2019
  •  | 
  •  

質問

今夜、.NETユーザーグループ会議に参加しましたが、その一部はモデルビューモデルのパターンを中心に展開されていましたが、これがパターンとして適格かどうか疑問に思いました。
私が抱えている問題は、M-V-VMが非常にテクノロジー固有であることです。 WPFとそのバインディングメカニズムを使用しない場合、そのパターンを使用する方法はわかりません。
対照的に、ほとんどの「クラシック」はパターンは主にテクノロジーに依存しません。彼らが行う最大の仮定は、使用される言語がオブジェクト指向であり、通常は継承をサポートするということです。それを超えて、古典的なパターンは主に一般的な設計問題を述べ、それを解決するアプローチを提案することについてですが、複数の実装またはバリエーションが可能です。
私の質問は、デザインパターンと非常に具体的なフレームワークの使用方法に関する推奨事項の間に、どこで線を引きますか?実装方法と、そのために使用する必要のある言語と技術を知っている場合、それはまだパターンですか?

役に立ちましたか?

解決

「アプローチ」に必要な基礎概念は特許、知的財産、またはわいせつな作業量に違反することなく、作業を別のプラットフォームで再実装しますか?もしそうなら、私たちはあなたが得ている意味でデザインパターンといっても間違いなく呼ぶことができると思います。 (ただし、プラットフォーム固有のアプローチでも、それらを使用できる小規模なコミュニティの設計パターンになる可能性があります)。

MVVMはプレゼンテーションモデルパターンの特定の実装にすぎないことにも留意してください Martin Fowlerが提示。これは確かに「クラシック」です。あなたが言うように、プラットフォームに依存しません。

"太陽の下で新しいものはありません"彼らが言うように、同じアイデアのちょうど異なる配置。原則は常に洗練されており、新しいものが発明されることはめったにありません。

他のヒント

パターンは、他の海の島ではありません。何かがパターンであるかどうかは白黒ではありません。すべてのパターンはスケールでレイアウトでき、一般的なものとドメイン固有のもの、プロセスとコード、そしてたまたま選択した他の2つのゴールポストの間でさまざまなグレーの陰影を付けることができます。

異なる状況でもわずかに共有または再利用する価値があるレシピである場合、そのパターン。

はい、多くの場合、デザインパターンは使用しているプログラミング言語とテクノロジに依存しています。たとえば、明示的なリソース所有権を扱うDPはガベージコレクション言語でうまく動作しません。言語など-それは通常の、完全に素晴らしい、本質的に避けられないものです。

"推奨事項" 「デザインパターン」とは異なります。テクノロジーのコンテキストではなく、広さ、特に深さによって:適切なDPは、同様のアプローチの2つ以上の独立して開発された使用を特定し、どの一般的な「力」がどのような「力」彼らは美しいが重いメタフォーマットで対処し、そこからハープしていました。対照的に、推奨事項は形式的で、深く、広範ではありません!

DPは決して発明されることはありません。同様の状況に対処する既存のコード(2つ以上の独立した発生)を熟考することで発見され、共通性を"力"ソリューションの推進など。「DP」これは非常に人気のあるキャッチーな用語であり、FARをより広く使用しているため、ソースに戻って、Alexanderのタイムレスな構築方法およびその他の作品。DPの流行語のthickから抜け出せば、再び道を見つけるのに役立ちます。 !

  

WPFとそのバインディングを使用しない場合   メカニズム、私はあなたができる方法がわかりません   そのパターンを使用します。

SilverlightとMoonlightもMVVMをサポートしています。

"「言語はパラダイムに基づいています」」と、各パラダイムには問題を解決するためのさまざまな方法があります。デザインパターンはたまたま一般的なソリューションであり、言語固有かどうかは関係ありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top