問題タブ [model-view-controller]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - ビューに winforms を使用するコントローラー クラスの単体テストを作成するにはどうすればよいですか?
必要に応じて System.Windows.Forms.Form クラスに結合されているメソッドの単体テストに成功した人はいますか?
私は最近、C# winforms アプリケーションに取り組んでおり、MVC 構造でビルドしようとしています。フレームワークが実際にこれを念頭に置いて構築されていないことを考えると、これは十分に困難です。
ただし、単体テストをミックスに投入すると、さらに難しくなります。単体テストにスタブ/モックを使用できるように、コントローラーが具体的なビュー クラスに結合されていないことを確認してきました。ただし、どこかでForm クラスを参照することは避けられず、これらのメソッドをテストする必要があります。
私がMoqを使っているのは、Moqには優れた型安全機能があり、具体的な型をモックできるからです。しかし残念ながら、仮想でも抽象でもない具象型のメソッドまたはプロパティへの呼び出しを「期待」することはできません。Form クラスはサブクラス化を考慮して作成されていないため、これは大きな問題です。たとえば、ShowDialog を「期待」して、実際のウィンドウが作成されないように Form クラスをモックできるようにする必要があります。
そのため、フォームのサブクラスと多くのやり取りを行う単体テストを実行できません。これは私のビューです。
このタイプのコードの単体テストに成功した人はいますか? どうやってそれをしましたか?
これは、他のモッキング フレームワークで回避できるものですか? 他のモッキング フレームワークで使用される文字列ベースのメソッドは、同じ制約を受けますか? 独自の明示的なロングハンド モック クラスを記述できますか?それとも、仮想メンバーがないために、ウィンドウの動作をそのように抑制することができなくなりますか?
または、フォームに結合されたコードが単純な複雑さのメソッドとクラスになるように、クラスを構造化するために考えていなかった方法がありますか?それのための?
model-view-controller - MVC モデルの設計/継承
あいまいなタイトルを許してください、私はそれを説明する方法がわかりませんでした.
一般的なモデル「アーカイブ」がある場合、ユーザーが選択した「タイプ」に基づいてさまざまなビュー/フォームをどのように表示しますか?
たとえば、ユーザーは新しい「アーカイブ」を作成し、ビデオ、本、オーディオなどの選択肢を取得します。そこから、アーカイブの種類に基づいてさまざまな形式を取得します。
それとも、ビデオ、ブック、オーディオなどの異なるモデルに分割したほうがよいでしょうか?
または、モデルを継承できます (ビデオがアーカイブを拡張するように)。これは基本的な OOP / クラスだと思いますが、ここでそれを適用する方法がわかりません。
任意の MVC フレームワークからの例を歓迎します!
model-view-controller - MVC(モデルビューコントローラー)とは?
最近、MVC (Model View Controller) という言葉がバズっているのをよく耳にしますが、それは一体何なのでしょうか?
model-view-controller - ファンシー MVC URL はキャッシュの実行方法に影響しますか?
JS ファイルのキャッシュのクリアに関する質問への回答を読んでいるときに、誰かがhttp 仕様のこの部分を指摘しました。基本的には、? を含む URL を意味します。特定の有効期限が指定されていない限り、キャッシュから取得しないでください。MVC Web サイト (RoR、ASP.Net MVC など) で非常に一般的なクエリ文字列のない URL はどのようにキャッシュされますか? また、従来のクエリ文字列ベースの URL とは動作が異なりますか?
java - JSP アプリケーションでのさまざまなレイアウトと i18n
私は Tomcat にたくさんの JSP ファイルとバックエンドを持っています。内部のロジックは同じですが、レイアウトが異なる 3 つの異なるバージョンの JSP があります。したがって、いくつかのロジックを変更すると、3 つの JSP ファイルを修正する必要があります。
そのようなシナリオの適切な解決策は何ですか? 私はいくつかの XML と XSLT スタックを考えました。バックエンドは XML のデータのみを提供し、レイアウトごとに何らかの魔法を行う XSLT を持っています。
JSP でさまざまな言語で stackoverflow を提供する必要があると想像してみてください。ロジックは同じですが、レイアウトが異なります。
何か方向を教えてもらえますか?
model-view-controller - 選択モデルをプロキシ モデルと連携させるにはどうすればよいですか?
モデルと 2 つのビューを次のように設定しています。
ユーザーがいずれかのビューで何かを選択すると、もう一方のビューにその選択が反映されます。そこで、QSelectionModel を使用してそれらをリンクすると考えました。しかし、これはうまくいきません。実際には同じモデルを持っているのに、ビューが2つの異なるモデルを持っていると思っているからだと思います。これを機能させる方法はありますか?
php - MVC、クラスはどこに行きますか?
私のMVCの理解は次のとおりです(ひどく間違っている場合は、結局私はMVCに慣れていません)
- モデルはデータベースとインターフェースするものです
- ビューはページのデザイン/レイアウトです
- コントローラーはすべてが始まる場所であり、本質的にページロジックです
私はCodeIgniterを使用していますが、それがそれだけに限定されているのではなく、おそらくPHPフレームワークだけに限定されているのではないかと推測するのは危険です。
グローバルクラスはどこに配置しますか?
製品のモデルがあるかもしれません。次に、データベースから20個の製品を収集するクエリを実行します。今、20のモデルを作成しますか、それとも別のクラスを作成する必要がありますか?後者の場合、このクラスをどこに配置しますか(他のコントローラーも使用する必要があります)
model-view-controller - 過負荷を防ぐために、MVC-ARS は従来の MVC よりも望ましいですか?
人気のあるデザイン パターン MVC (モデル/ビュー/コントローラー) には、拡張版の MVC-ARS (アクション/表現/状態) があります。追加されたコンポーネントはすべてデータベース層内に存在し、モデルの一部ではありませんが、モデルによって呼び出されます。詳細は次のとおりです。
状態、状態機械のように。これは、従来のステート マシン パターンに従います。継続または停止条件、およびおそらく状態変更をもたらすイベントと一致する現在の状態があります。
アクションは、すべての情報技術システムの目的と同様に、データに基づいて行動します。これは私たちのトランザクション、つまりデータベース内のデータの CRUD (作成/読み取り/更新/削除) を意味します。これは、ステート マシンによってブロックされた可能性があります。
モデルになるデータを送り返すなどの表現。データ モデルと MVC モデルは、たとえばリレーショナルと XML 階層など、大きく異なる可能性があります。それが明示的で理解されていれば、それは何も悪いことではありません。これが代表です。
この拡張機能は、状態制御、トランザクション制御、およびデータ スナップショットを分離することによって、モデルまたはコントローラーのいずれかの過負荷を防止しませんか?
asp.net-mvc - MVC n レベルのルート構築
N レベルのカテゴリで製品カタログを作成したい
例えば
それは可能ですか? はいの場合はどうすればよいですか?
model-view-controller - MVC の代替
Model View Controller に代わる「設計方法」は何ですか? MVC は人気があるようですが (SO は MVC で構築されています。私はそれを知っています)、使用される唯一の方法ですか?