それはかなり興味深いものだと私は、この質問への否定的な反応によって、本当に驚いています。ほとんどの人は、MVCはWeb環境内でしか意味がないと仮定しているため、MVCはCLIプログラムにも完全に適用できるので、これが期待されます。それはちょうど異なるビューメディアを提示します。実際、コントローラとモデルの部分を変更することなく、CLI、GUI、またはWebビューのいずれかをプラグインできる優れたMVC設計と考えています。
MVCによれば、アプリケーションが提供されると、アプリケーションの実際の内部ロジックから、ビュー部分(アプリケーションのプレゼンテーション、ユーザーが見て対話する内容)を可能な限り抽象化します。これを行う方法は、ビューとそれに存在するコントロールをバックエンドのロジックに「接着」するコントローラを作成することです。簡単に言えば、コントローラはユーザー入力をメソッド呼び出しに変換し、戻り値をユーザーにとって有用なものに変換し直します。パターンのモデル部分は幾分議論されている。表示するためにビューに送信されるオブジェクトグラフの別々の部分は、 "モデル"です。その他には、バックエンドに住んで全体のステートフルオブジェクトグラフが「モデル」であり、コントローラはビューには、選び出す検査し、モデルの特定の部分を変更してみましょう見ているガラスのようなものを形成することを維持します。問題は実際には、常に前後に流れる多くのモデルや、ユーザーが理解できる方法で公開する必要がある1つの大きなモデルがあるかどうかです。またはアプリのいずれかのタイプ - - CLIでMVCに到達するために
は明らかビュー/プレゼンテーションとして定義されていたコードの一部を持っています。その中にビジネスロジックに似ているものは決してありません。あなたのコントローラーは、ユーザー入力にどのように反応するかを知っていて、表示のために物事を返すことができるオブジェクトでなければなりません。モデルは、基本的に、ユーザーが気にかけている実際のデータや「もの」です。そのモデルを表示しているビューや、コントローラを制御しているコントローラのことを気にする必要はありません。
どういう意味ですか?どのようなMVCクラスライブラリですか?どんな種類のUIですか? – bmargulies
パターンビューModelViewController –
@ルーク、それはデザインパターンか、既存のライブラリのニックネームです。後者の場合は、どのライブラリですか?前者の場合、あなたの質問は無意味です。私は最初のタイマー午前以来 –