問題タブ [model]
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.
model - メッセージ キューのモデル化
私は、一緒にパイプされた多くの異なる段階からなるこのシステムを持っています. 具体的には、tcp-ip 経由で通信するさまざまなプロセスがたくさんあります。メッセージはパケット指向プロトコルを介して交換されます (特定の条件が満たされている場合、より多くのメッセージを単一のワイヤ プロトコル データ ユニットに詰め込むことができます)。フロー キューも制御しています。I キュー メッセージの送信に失敗した場合、または送信キューでメッセージを合体させた場合でも、ソケットはブロックされません。もちろん、実行時に何が起こるかは、その下にある tcp ip 制御フローに依存するため、tcp ip キューもモデル化したいと思います。質問は、私のシステムのシミュレーションを作成する方法についての考えを共有できる人はいますか? 私はそれのためのシミュレーターを作ることを考えました - つまり、私のモデルにあるすべてのキューのキューデータ構造を持つプログラムです。ティックごとに、システムの理解に従ってモデルを進化させます。つまり、モデルの tcp バッファーのデータ構造が十分なスペースがあると言う場合、出力キューのメッセージ番号を減らし、使用可能なスペースカウンターを減らします。メッセージのサイズなどによる tcp バッファー モデル - 次に、tcp リンクの帯域幅に基づいたレートで tcp バッファーを空にします (もちろん、大量のデータを送り込んでいるという仮説を立てています。 TCP リンクの唯一のパラメーターは帯域幅です)。そのようなものを構築するのは大変な労力のように思えますが、それが私が必要としているものかどうかはわかりません。ある種の Excel スプレッドシート モデルを使用したほうがよいかもしれませんが、それをどのように構築するかはわかりません。モデルの tcp バッファーのデータ構造が十分なスペースがあると言う場合、出力キューのメッセージ番号を減らし、メッセージのサイズだけ tcp バッファー モデルの使用可能なスペース カウンターを減らす、というようにします。 tcp リンクの帯域幅に基づいた速度で tcp バッファーが空になります (もちろん、大量のデータをポンピングしていて、tcp リンクの唯一のパラメーターは帯域幅であるという仮説を立てています)。そのようなものを構築するのは大変な労力のように思えますが、それが私が必要としているものかどうかはわかりません。ある種の Excel スプレッドシート モデルを使用したほうがよいかもしれませんが、それをどのように構築するかはわかりません。モデルの tcp バッファーのデータ構造が十分なスペースがあると言う場合、出力キューのメッセージ番号を減らし、メッセージのサイズだけ tcp バッファー モデルの使用可能なスペース カウンターを減らす、というようにします。 tcp リンクの帯域幅に基づいた速度で tcp バッファが空になります (もちろん、大量のデータをポンピングしていて、tcp リンクの唯一のパラメータは帯域幅であるという仮説を立てています)。そのようなものを構築するのは大変な労力のように思えますが、それが私が必要としているものかどうかはわかりません。ある種の Excel スプレッドシート モデルを使用したほうがよいかもしれませんが、それをどのように構築するかはわかりません。など - 次に、tcp リンクの帯域幅に基づいた速度で tcp バッファーを空にします (もちろん、大量のデータをポンピングしていて、tcp リンクの唯一のパラメーターは帯域幅であるという仮説を立てています)。 )。そのようなものを構築するのは大変な労力のように思えますが、それが私が必要としているものかどうかはわかりません。ある種の Excel スプレッドシート モデルを使用したほうがよいかもしれませんが、それをどのように構築するかはわかりません。など - 次に、tcp リンクの帯域幅に基づいた速度で tcp バッファーを空にします (もちろん、大量のデータをポンピングしていて、tcp リンクの唯一のパラメーターは帯域幅であるという仮説を立てています)。 )。そのようなものを構築するのは大変な労力のように思えますが、それが私が必要としているものかどうかはわかりません。ある種の Excel スプレッドシート モデルを使用したほうがよいかもしれませんが、それをどのように構築するかはわかりません。
php - Zend Framework: モデルとビューの使用、ベスト プラクティス
私はオブジェクト指向プログラミングに比較的慣れていません。私は概念をかなり理解していますが、実際には、Zend Framework アプリケーションでモデルを最適に使用する方法に関する情報を見つけるのに非常に苦労しています。
具体的には、データベース テーブルを使用しないモデル (何も拡張しない) があります。ゲッターとセッターを使用して、保護されたメンバーにアクセスします。このモデルをビューに最適に表示する方法に苦労しています。ビュー テンプレートにロジックは必要ありませんが、次のような状況に陥っています。
私のコントローラーで:
私のビューテンプレートでは:
ビュー テンプレートで関数を呼び出すのはあまり好きではありませんが、これを行うためのより良い方法がわかりません。モデルのメンバーを公開したくありませんが、基本的には同じ結果を達成したいと考えています。
モデルに関するすべてを知る必要があるすべての作業をコントローラーに行わせたくありません。
Zend Framework でモデルを使用するベスト プラクティスは何ですか? Zend Framework でのこのモデル/ビューのジレンマを理解するのに役立つチュートリアルをお勧めできますか?
c# - C# モデル ビュー コントローラー
そのため、モデル ビュー コントローラー パターンで C#/Winforms アプリケーションを作成しています。私のビュー コントローラーは、オブジェクトの複数のグループをインスタンス化する必要があります。オブジェクト グループは、モデルの要素とビューの要素です。たとえば、テキストボックスとそのテキストボックスの背後にあるモデル。
これを行う最善の方法は、すべてをある種のコレクションに入れ、それらをキーで結び付けることでしょうか?
java - Swing +モデルを使用するときにコンボボックスの選択解除を認識しますか?
適切な Model-Delegate パターンを可能な限り使用する素敵な GUI を Swing で作成しようとしています。変更時にモデルを新しいデータで更新する必要がある JComboBox があります。現在選択されているアイテムを取得するには、次を使用しています。
これは、データが変更されたものを素敵なオブジェクトとして返します。しかし、古い値を見つける方法が見つからないため、どのオブジェクトを変更する必要があるのか わかりません。ここに何かアイデアはありますか?
ruby - モデルとビューを新しい Sinatra 拡張機能に統合する
そのため、新しい可能性を利用してSinatraの拡張機能を作成したいと思います。
拡張機能でモデルといくつかのビュー/テンプレートを統合する必要がありますが、それらを統合する方法や場所がわかりません。
ドキュメントの例よりも複雑なものを既に構築した人はいますか?
database - コンシューマー定義の集計 (SQL カウントなど) を「純粋な」モデル オブジェクトと結合しますか?
カスタム (通常は揮発性) データをエンティティ モデル クラスに導入するベスト プラクティスは何ですか? これは最初は悪い習慣のように聞こえるかもしれませんが、非常に一般的なシナリオのようです。最近の Web アプリケーションでは、適切なモデルを開発しており、ほとんどの場合、モデル エンティティの読み込みに問題はありません。しかし、エンティティの階層全体をロードする余裕がない場合があります。たとえば、いくつかの SQL COUNT の結果、またはモデル エンティティと一緒に (またはモデル エンティティ内に埋め込まれた) 追加情報をロードする必要があります。したがって、基本的に、要件と条件は次のとおりです。
これは、すべての操作の 99.9999999999% が読み取り操作である Web アプリケーションです。
複雑なビジネス ロジックを処理したり実行したりする必要はありません。データをすばやく HTML に変換する必要があるだけです。
いくつかのパフォーマンス クリティカルなケースでは、どのモデル プロパティにも適合しない SQL 集計の結果を読み込む必要があります。
必要に応じて、新しいカスタム データを導入するための拡張可能な方法が必要です。
通常、ORM (たとえば、db からの生データ) にあまり手を加えずに、この問題をどのように解決しますか? これは何度も議論されていると思いますが、役に立つものを見つけるための適切な Google クエリがわかりません。
編集:後で質問があまりうまく形成されていないことに気付いたので、再定式化して新しい質問を開始することにしました。
testing - 推奨されるモデル ベースのテスト ツール
どのモデル ベースのテスト ツールを使用するかについて、何か提案はありますか? Spec Explorer/SPEC# は、テスター トレーニングで重視する価値がありますか?
私が伝統的に行ってきたことは、状態と関連する変数、出力、および各状態からの期待される結果を呼び出す Visio モデルを作成することです。次に、完全に切り離された方法で、そのモデルに基づいた変数を使用してテスト スクリプトをデータ駆動します。しかし、それらは接続されていません。モデルを作成し、ビジネスに適した方法で変数を関連付け、スクリプトのデータ パラメーターを構築する方法が必要です。
私はこれを必要とする最初の人になることはできません. 基本的にそれを行うツールはありますか?自分で開発することはできません。
sql - アドホックデータとリポジトリパターン
モデルエンティティに適合しない、または一部を拡張する、リポジトリからアドホック(ケースバイケースのカスタム)データを返すための推奨される方法は何ですか?
101の例は、ユビキタスなhellowordアプリケーションであるブログシステムです。投稿エントリに投稿エンティティに存在しない追加情報が含まれている投稿のリストをロードするとします。コメントの数と最後のコメントの日時だとしましょう。単純な古いSQLを使用し、データベースから直接データを読み取る場合、これは非常に簡単です。各投稿のコメントのコレクション全体をロードする余裕がなく、1回のデータベースヒットでそれを実行したい場合、リポジトリパターンを使用して最適に実行するにはどうすればよいですか?この状況で一般的に使用されるパターンはありますか?ここで、各ページにわずかに異なるカスタムデータが必要であり、完全な階層(パフォーマンス、メモリ要件など)をロードできない、適度に複雑なWebアプリケーションがあるとします。
いくつかのランダムなアイデア:
カスタムデータで入力できるプロパティのリストを各モデルに追加します。
サブクラスモデルエンティティはケースバイケースで、サブクラスごとにカスタムリーダーを作成します。
LINQを使用して、アドホッククエリを作成し、匿名クラスを読み取ります。
注:最近、同様の質問をしましたが、一般的すぎるようで、あまり注目されていませんでした。
例:
以下の回答の提案に基づいて、より具体的な例を追加します。これが私が説明しようとしていた状況です:
余分なことを何もせずに既成のORMを使用すると、n + 1クエリ、または1つのクエリですべての投稿とコメントが読み込まれる可能性があります。ただし、最適には、投稿のタイトル、本文など、コメント数、最新のコメント日付を含む投稿ごとに1行を返すSQLを1つだけ実行できるようにしたいと思います。これはSQLでは簡単です。問題は、私のリポジトリがこのタイプのデータを読み取ってモデルに適合させることができないことです。最大日付とカウントはどこに行きますか?
私はそれをどのように行うかを尋ねていません。リポジトリにメソッドを追加したり、新しいクラスや特別なエンティティを追加したり、 LINQを使用したりするなど、いつでもそれを行うことができますが、私の質問は次のとおりです。どうしてリポジトリパターンと適切なモデル駆動型開発が広く受け入れられているのか、それでも、この一見非常に一般的で基本的なケースに対処していないようです。
ruby-on-rails - Foreign_key とリンク テーブルを使用した Rails モデル
異なる単語間の関係を構築する ruby on rails プロジェクトのモデルを作成しようとしています。これは、2 つの単語間の「リンク」が同義語として使用できることを示す辞書と考えてください。私のDBは次のようになります。
リンク テーブルを使用して、2 つの単語間の関係を作成するにはどうすればよいですか。モデルを作成しようとしましたが、リンクテーブルを機能させる方法がわかりませんでした: