誰かがMVCデザインパターンに基づくjava/jdkライブラリのアプリケーション/フレームワーク/ツールの例を教えてもらえますか?最近のインタビューでこの質問をされました。ほとんどのJavaSwingコンポーネントはMVCに基づいて設計されていると答えました。しかし、インタビュアーはそれよりももっと複雑なものを探していると言った。ありがとう。
6 に答える
オブジェクトをモデルとして、jspsをビューとして、サーブレットをコントローラーとして使用する場合、JavaベースのJavaEEスタックはMVCと見なすことができます。
Spring MVCは、MVCに基づく人気のあるライブラリのもう1つの例です。
Apache OFBizですが、忙しさのために使用することはお勧めしません。
Strutsは、おそらく最も人気のある純粋なMVCフレームワークですが、その時代を感じており、よりAOPであるSPRINGも出回っています。
Apache Strutsは、そのようなフレームワークの一例です。
あなたが指摘したように、JavaSEについて話すとき、MVCフレームワークはSwing(または少なくともそれに近いもの)です。彼が「もっと複雑なもの」の意味をよく理解していませんが、EclipseRCP のような他のオプションがあります。
Eclipse は IDE としてよく知られていますが、基本的には、オープン ソースであるため、すべてのユーザーがカスタム デスクトップ アプリケーションを構築するために使用できるフレームワーク上に構築されたデスクトップ アプリケーションです。それらは箱から出してすぐに複数のレイヤーで構成されているため、Swing よりも「複雑」です (Swing は十分に複雑ですが)。OSGI 実装 (ソフトウェアの最も基本的な部分) から、ビュー、エディター、パースペクティブ、コマンド、アドオンなどの構造を見つけることができる最上層まで。
一般的に言えば、EclipseRCP 中間層では、V は Eclipse SWT ライブラリ (コンポーネント)、C は Eclipse JFace ライブラリ、M は独自のアプリケーションのモデルです。最上位層では、前の段落で言及したすべての「複雑な」構造 (パースペクティブ、ビュー、エディターなど) も C の一部ですが、より高いレベルにあります。
これは、JavaSE (Swing を除く) の MVC フレームワークに関して私が考えることができる最も近いものです。その最後のバージョン (Eclipse E4) では、複雑さが適切に整理されているため、質問に答えるのに「十分に複雑」であるかどうかはわかりません。詳細を知りたい場合は、Eclipse E4 に関するこのチュートリアルをお読みください。
ところで、Netbeans プラットフォームを使用すると、MVC アプローチ(または少なくとも同様のもの)に従ってデスクトップベースのアプリケーションを実装することもでき、それは Swing に基づいています。
私も過去にmvcに苦労しており、今は多くのことを学びました。このチュートリアルmvc simple program(add two numbers)を参照してください