123

SunMsdnによると、これは設計パターンです。

ウィキペディアによるとそれは建築パターンです

デザイン パターンに比べて、アーキテクチャ パターンは規模が大きくなります。(ウィキペディア -建築パターン)

それともデザインパターンも持つ建築パターンですか?

どれが本当ですか?

4

10 に答える 10

69

MVC はアーキテクチャ パターンに近いものですが、完全なアプリケーション向けではありません。MVC は主に、アプリケーションの UI/インタラクション レイヤーに関連しています。ビジネスロジックレイヤー、おそらくサービスレイヤーとデータアクセスレイヤーが必要になるでしょう。つまり、n層アプローチに興味がある場合です。

于 2009-12-08T13:05:06.767 に答える
49

なぜそれらの1つが真実でなければならないのですか?

見方によっては、どちらも真である可能性があります。

MVC がアプリケーション アーキテクチャの基礎を形成する場合、MVC はアーキテクチャ パターンになる可能性があります。

また、単なる設計パターン、つまりあらゆるアプリケーションに適用できる抽象的な概念と見なすこともできます。

于 2009-12-08T13:05:20.060 に答える
31

デザイン パターンは、コードを効果的に記述する方法を示します (コード メトリクスを考慮して)。

いくつかの利点:

  1. メンテナンスが容易
  2. 高い再利用性
  3. 抽象化されているため読みやすい

アーキテクチャ パターンは、リソースを効果的に利用する方法を示します。

  1. プログラマーやグラフィック デザイナーなどの並列タスクの実行は、並行して作業できます。
  2. 複数のテクノロジーを利用してソフトウェアを構築できます。

MVC では、 a)。ビューは JavaScript テンプレートを使用して作成でき、html も使用できます b)。コントローラーは、.NET フレームワークおよび c) で記述できます。モデルは Java で記述できます。json データのみを返す Java サービスを使用できます。

デザインパターンではJavaのAdminUserクラス、C#のCustomerクラス、PhpのPartnersクラス、Rubyのファクトリーパターンのように複数の技術でコードを書けるパターンは実装できません:); うーん..とても簡単?:)

于 2012-03-05T17:49:47.740 に答える
9

少し前に回答があったことは知っていますが、MVC を有名にした本、1996 年に出版された Buschmann 氏による Pattern-Oriented Software Architecture (POSA) についてはまだ誰も言及していません。 、Gamma などによる POSA は、パターン コミュニティによって使用される基本的な書籍の 1 つです。

ああ、POSA は MVC をアーキテクチャ パターンとして非常に明確に識別します。私の推測では、MS と Sun は単にずさんで、すべてのパターンを「デザイン パターン」と呼んでいます。

于 2010-04-01T16:10:18.167 に答える
5

クラスのモデル/ビュー/コントローラー (MVC) トライアド内の設計パターンには、以下が含まれますが、これらに限定されません。

  • オブザーバー、オブジェクトを分離して、変更されたオブジェクト (モデル) が他のオブジェクト (ビュー) の詳細を知る必要なく、1 つのモデル (モデル) への変更が他のオブジェクト (ビュー) の任意の数に影響を与えることができるようにします。

  • Composite : グループ オブジェクト (複合ビュー) を、個々のオブジェクト (ビュー コンポーネント) の 1 つを扱うのと同じように扱うことができます。

  • Strategy。ビューは Controller サブクラスのインスタンスを使用して、特定の応答戦略を実装します。別の戦略を実装するには、インスタンスを別の種類のコントローラーに置き換えるだけです。

  • ビューのデフォルトのコントローラ クラスを指定するFactory Method 。

  • ビューにスクロールを追加するDecorator 。


参照

  • 4 ~ 6 ページ (セクション 1.2 Smalltalk MVC の設計パターン)
  • 293~304ページ(オブザーバーデザインパターン)
  • 163~174ページ(複合デザインパターン)
  • 315~324ページ(戦略設計パターン)
  • 107~116ページ(ファクトリーメソッドデザインパターン)
  • 175~185ページ(デコレータデザインパターン)

エリック・ガンマ、リチャード・ヘルム、ラルフ・ジョンソン、ジョン・ブリシズ。デザイン パターン: 再利用可能なオブジェクト指向ソフトウェアの要素。Addison-Wesley、レディング、マサチューセッツ州、1994 年。

于 2017-11-03T20:02:49.447 に答える
3

どちらも本当だと思います。Ruby on Rails のようなフレームワークで MVCの特定のインスタンス化を見ている場合、そのインスタンス化は設計パターンに近いものです。MVC を一般的な概念として見ると、それはアーキテクチャ パターンに近いものになります。

于 2009-12-08T13:03:50.123 に答える
2

MVC は、ソフトウェア アーキテクチャの本でプレゼンテーション レイヤーとして常に言及され、紹介されています。

これらの本を読んでください:

  1. エンタープライズ向けの Microsoft.NET ソリューションの設計(マイクロソフト プレス)

  2. プロフェッショナルな ASP.NET デザイン パターン(Wrox)

  3. Microsoft.NET を使用したエンタープライズ ソリューション パターン(マイクロソフト プレス)

  4. エンタープライズ アプリケーション アーキテクチャのパターン(Addison Wesley)

  5. エンタープライズ アーキテクチャの実践ガイド(Prentice Hall)

于 2011-11-23T17:24:29.923 に答える
2

10 人のソフトウェア アーキテクトを部屋に集めて、Model-View-Controller パターンとは何かについて話し合うと、12 の異なる意見が生じることになります。…純粋主義者の中には、私が「MVC」と呼んでいるものに必然的に不安を感じる人もいます。この Web ページの下部にあるメッセージ ボードに、熱烈なコメントを残してください。MVC が何を意味するかについて、さまざまな視点を喜んで提供しますが、気にしないことを覚えておいてください。

ジョシュ・スミス

于 2011-11-27T16:25:00.237 に答える
1

Martin Fowler によれば、それらは GUI アーキテクチャです: Martin Fowler-GUI アーキテクチャ

GUI 関連のクラスにのみ影響するため、アプリケーションのサイズによって異なります。小さなもの (ほとんどが GUI) ではアーキテクチャ パターンと見なすことができますが、巨大なものでは GUI に適用するデザイン パターンにすぎません。コード (アプリ コードの 10% になる可能性があります)。

于 2009-12-08T13:09:25.060 に答える
0

MVC はアーキテクチャ パターンです。非常に明確に述べられており、http://molecularsciences.org/zend/mvc_model_view_controllerで示されています

于 2011-04-15T21:46:55.677 に答える