詳細な説明が必要ですが、私が知っている限り、違いをスケッチしようとします。
パターンは、プログラムで見つかる共通点です。これにより、大きな複雑な構造を解体し、単純な部分を使って構築することができます。これは、一連の問題に対して一般的な解決策を提供します。
大規模な複雑なソフトウェアは、さまざまなレベルで一連の分解を行います。大きなレベルでは、アーキテクチャパターンがツールです。小さなレベルでは、デザインパターンがツールであり、実装レベルではプログラミングパラダイムがツールです。
非常に異なるレベルでパターンが発生する可能性があります。 Fractalsを参照してください。クイックソート、マージソートは、すべての順序で要素のグループを編成するためのアルゴリズムパターンです。最も単純なビューについて
:
Programming paradigms Specific to programming language
......................
Design patterns Solves reoccurring problems in software construction
......................
Architectural patterns Fundamental structural organization for software systems
......................
イディオムは、低レベルの詳細を入力特定パラダイムと言語固有のプログラミング技術です。
デザインパターンは通常、コードレベルの共通点に関連付けられています。それは、より小さなサブシステムを洗練し、構築するためのさまざまなスキームを提供します。通常、プログラミング言語の影響を受けます。一部のパターンは、language paradigmsのために重要ではない。 デザインパターンは、エンティティの構造と動作、およびそれらの関係のいくつかを明確にする中規模の手法です。
建築パターンは、設計パターンより高いレベルで共通性と見なされます。 アーキテクチャパターンは、システムのグローバルプロパティとメカニズムである大規模コンポーネントに関係する高度な戦略です。
パターンはどのように取得されますか? :
- 再利用、
- 分類
- と共通性を蒸留して、最終的な抽象化。
上記の考えに従っている場合は、シングルトンは「デザインパターン」であり、MVCは懸念の分離に対処するための「アーキテクチャ」パターンの1つです。
は上読んで試してみてください。
- http://en.wikipedia.org/wiki/Architectural_pattern_(computer_science)
- http://en.wikipedia.org/wiki/Design_pattern
- http://en.wikipedia.org/wiki/Anti-pattern
既に説明しました:https://stackoverflow.com/a/46419722/3649347 – GeekOnJava