公式のModel-Glueドキュメントが提供するクイックスタートガイドに従う場合は、次の場所にあります。
「モデル」は、アプリケーション操作を実行するクラスのように見えます。この例ではTranslator
、フレーズをピッグラテン語に翻訳するクラスを作成しました。ここから、プログラムロジックもデータベース操作クラスやHTMLヘルパーなどの「モデル」である必要があることを簡単に推測できます。
しかし、最近、MVCについてここで尋ねた質問に対する回答を受け取りました。
MVCを使用して、コントローラーによって設定されている変数の知識を必要としないようにビューを設計するにはどうすればよいですか?
回答の1つで、MVCの「モデル」は、コントローラーがデータを入力し、それがビューに渡されるオブジェクトである必要があり、ビューはそれを厳密に型指定されたオブジェクトとして使用してデータをレンダリングする必要があると述べられました。 。つまり、上記のModel-Glueの例では、トランスレータコントローラ、トランスレータビュー、PigLatinTranslator
クラス、およびTranslation
次のようなモデルが必要でした。
component Translation
{
var TranslatedPhrase = "";
}
このコントローラーは次のように使用します。
component TranslatorController
{
public function Translate(string phrase)
{
var translator = new PigLatinTranslator();
var translation = new Translation();
translation.TranslatedPhrase = translator.Translate(phrase);
event.setValue("translation", translation);
}
}
そして、ビューは次のようにレンダリングします。
<p>Your translated phrase was: #event.getValue("translation").TranslatedPhrase#</p>
この場合、PigLatinTranslator
は単にどこかに存在するクラスであり、モデル、コントローラー、またはビューと見なすことはできません。
私の質問は、ColdFusion Model-GlueのモデルはMVCモデルとは異なりますか?それとも、彼らがMVCの悪い例を提供したクイックスタートガイドであり、私が上にリストしたコードはそれを行う正しい方法ですか?それとも、私はこれらすべてについて完全にコースから外れていますか?