-1

タイトルに記載されているパターンを実際に区別することはできませんでした。

動的なWebサイトには、基本的にHTML、CSS、そしておそらくjavascriptで開発されたユーザーインターフェイスがあります(少なくとも、それがユーザーに表示されます)。バックエンドは、データベースに接続されるPHPまたはASP(またはその他)である可能性があります。

データベースはモデルであり、UIはビューであると思います。バックエンドはコントローラー、プレゼンター、またはビューモデルですか?

説明的な回答と、必要に応じてリンクをいただければ幸いです。

4

2 に答える 2

5

ソースコードにアクセスしないと、アプリケーションに使用されているデザインパターンを特定できません。そして、私はこれがあなたが求めているものであるという明確な印象を受けます。

また、MVCおよびMVCに触発されたデザインパターンの一部について、多少混乱しているようです。

  • モデルはデータベースではありません。これは、アプリケーションのレイヤー(クラスまたはオブジェクトではない)であり、すべてのドメインビジネスロジックを含み、少なくとも1つのデータソース(データベースである場合とそうでない場合があります)と対話します。
  • UIはプレゼンテーション層によって維持されます。プレゼンテーション層は、ほとんど(ほとんど)ビューとコントローラーのような構造で構成されています。
于 2012-09-10T19:40:30.197 に答える
0

このMicrosoftmsdnの記事「Model-View-ViewModelデザインパターンを使用したWPFアプリ」では、MVVMをMartinFowlerのプレゼンテーションモデルパターンのMicrosoftカスタマイズとして説明しています。彼のパッシブビューパターンはMVPアプローチです。彼の監督コントローラーのパターンはMVCアプローチです。この古い記事は、そのようなパターンの進化について取り上げています。すべての言語とフレームワークがGUIパターンを適切にサポートしているわけではありません。たとえば、MVVMは、デスクトッププログラミング用にMicrosoftによって発明されました。Webページは通常、イベント駆動型の「デスクトップ」プログラミングモデルではなく、ページ全体が更新されます。デスクトップパターンをWebページプログラミングモデルに縮小しようとすると、認識できないほど歪んでしまうことは議論の余地があります。

イベント駆動型プログラミングモデルを備えた最新のWebフレームワークはZKです。この記事では、ZK Java AJAXフレームワークを使用したイベント駆動型GUIパターンの実装で、上記の3つのMartinFowlerパターンを使用して同じ単純な画面を3回作成する方法について概説します。すべてがブラウザ用のhtmlとjavascriptに変換されますが、実際のアプリケーション画面コードは、サーバーサイドイベント駆動型の「デスクトップ」で実行されています。ビュー、モデル、およびMVC / MVP / MVVMパターンの3番目の部分については、このプレゼンテーション「ZKのデザインパターン:Model-View-BinderとしてのJavaMVVM」で説明しています。

于 2012-12-11T23:55:31.887 に答える