問題タブ [lookup]
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.
domain-driven-design - ドメイン駆動設計 (DDD) でルックアップ テーブルをモデル化する実用的な方法は何ですか?
私はちょうど DDD を学んでいて (Eric Evans の本が目の前で開かれています)、答えが見つからない問題に遭遇しました。検索レコードの単純なリストを取得しようとしているだけの場合、DDD で何をしますか?
元。
EmployeeID: 123
EmployeeName: John Doe
州: Alaska (ドロップダウン)
County: Wasilla (ドロップダウン -- 州に基づいてフィルタリングされます)。
たとえば、Employee ドメイン オブジェクト、IEmployeeRepository インターフェイス、EmployeeRepository クラスがあるとします。これは、従業員のリストと個人の詳細を表示するために UI によって使用されます。UI で、従業員が住んでいる州と郡のドロップダウンを使用したいと考えています。利用可能な郡は、選択された州に基づいてフィルタリングされます。
残念ながら、データベース テーブルと UI は大きく異なります。tblEmployees には、州名と郡名ではなく、州コード=AK と郡コード=02130 が含まれています。
古い方法 (この DDD クエストを開始する前) は非常に簡単で、2 つのクエリを作成し、DataReader を使用してドロップダウンに入力するだけです。ドロップダウンの表示の下に値があり、フォームの投稿で自動的に使用されます。
ただし、DDD では、これをどのように行うべきかわかりません。まず、State オブジェクトと County オブジェクト、およびリポジトリとリポジトリ用のインターフェイスを作成することから始めました。ただし、4 つのクラス + 2 つのインターフェイスと hbm.xml ファイル内の配管 + Employee Business オブジェクトを記述することは、2 つのドロップダウンに対して 2 つのクエリだけを行うにはやり過ぎのように思えます。もっと良い方法があるはずですよね?State または County のテーブルのレコードを当面変更する予定はありません。変更したとしても、このアプリケーションによるものではありません。そのため、必要がなければ、州と郡のビジネス オブジェクトを作成したくありません。
私が考える最も簡単な解決策は、GetStatesAll()、GetState()、GetCounties()、GetCounty() などの辞書を返すメソッドを使用してヘルパー クラスを作成することですが、DDD の観点からすると、それは間違っているように感じられます。
助けてください。いくつかの単純なルックアップだけをオーバーエンジニアリングせずに DDD を使用するにはどうすればよいですか?
最終的な解決策 リポジトリ クラスではなく、独自のデータ アクセス クラスに GetStates() メソッドを配置するという経験を通じて、最終的に答えを見つけたと思います。私は読み取り専用アクセスしか行っていなかったので、構造体 DTO に入れました。データベースが小さかったので、Todd が後述するように、それらを 1 つのクラスにまとめました。
私の結論:
- ルックアップ テーブルには常に ID があるため、ルックアップ テーブルは決して値オブジェクトではありません。ID がない場合は重複が発生し、あまり意味がありません。
- 読み取り専用のルックアップ テーブルはリポジトリを持つことができますが、おそらく必要ありません。リポジトリの目標は、集約を介してのみアクセスを強制することにより、複雑さを軽減することです。集計を行うことで、車を持っていない場合はタイヤを追加しないなど、ビジネス ルールを適用できるようにする方法が提供されます。
- ルックアップ テーブルで CRUD メンテナンスを許可する場合は、ルックアップ テーブルが独自のリポジトリを持つことが理にかなっています。
- コードを構造体として保存することになったという事実は、それらを「値型」にしません。Fowler は POEAA で、構造体は値型であると述べています。確かに、構造体は不変です。そのため、ファウラーは「値型」であると言っていますが、私はそれらを別の方法で使用していました。最初の作成後に変更する予定がなかった DTO を渡すための軽量な方法として、構造体を使用していました。実際、私が使用した構造体には確かに ID がありましたが、それらは読み取り専用であるため、構造体として機能していました。
- 他ではあまり見かけない、私が使ってきた 1 つのパターンは、主キー フィールドを不変にすることです。それらはコンストラクターによって設定されますが、読み取り専用 (プライベート アクセサーではない) であり、オブジェクトが作成されると変更できません。
tsql - 別のテーブルからのルックアップを含めるSQLselectステートメントを作成するにはどうすればよいですか?
あるデータベースから別のデータベースにデータをコピーし、そのデータベースにいる間にデータをマッサージしています。両方のデータベースには、クライアントとジョブと呼ばれるテーブルがあります。
ただし、データベース「Alpha」では、JobsテーブルはClientsテーブルとは関係がなく、データベース「Epsilon」とは関係があります。AlphaのJobsテーブルでは、nvarchar列にClients名が含まれています。
EpsilonのJobsテーブルに挿入しているときに、Clientテーブル内のクライアントのIDを名前で検索するためのselectステートメントが必要です。
私の未完成のSQLステートメントは次のようになります。
どうすればこれを変更して???? EpsilonのClientsテーブルのClientIdが含まれていますか?JobsのName列を使用してデータを検索する必要があることはわかっていますが、その構文を理解できません。
asp.net - ドロップダウン コントロール ASP.NET を置き換えるモーダル ポップアップ検索ウィンドウ
ASP.NET 3.5 アプリケーションの上にモーダル検索ウィンドウをポップして、フィールドの値を検索する最も簡単な方法を探しています。ユーザーがコースを追加するための画面があります。ユーザーは、ポップアップでインストラクターを検索してインストラクターを選択できる必要があります。
そのため、ポップアップにはテキストボックスとグリッドビューが表示され、結果が表示されます。結果の「選択」ボタンをクリックすると、呼び出しフォームのインストラクター フィールドに入力されます。
これを達成する最も簡単な方法は何ですか?
sql - アルファベットの大文字と小文字を無視するように SSIS ルックアップ変換を取得するにはどうすればよいですか?
これは簡単に説明できると思いますが、SSIS パッケージの 1 つにルックアップ変換があります。ディメンション テーブルで従業員レコードの ID を検索するために使用しています。ただし、私の問題は、ソース データの一部に従業員名がすべて大文字 (例: CHERRERA) であり、使用している比較データがすべて小文字 (例: cherrera) であることです。
大文字と小文字が 100% 類似していないレコードの検索は失敗します (例: cherrera と cherrera は正常に動作します - cherrera と CHERRERA は失敗します)。文字列/varchar データ型の大文字と小文字を区別しないルックアップ変換を行う方法はありますか?
java - 値のない Java ハッシュマップ?
単語をデータ構造に入れたいとしましょう。単語がこのデータ構造に含まれているかどうかを確認するために一定時間ルックアップを行いたいとします。私がやりたいのは、単語が存在するかどうかを確認することだけです。HashMapこれには(containsKey()) を使用しますか? HashMapキーと値のペアリングを使用しますが、私の場合は値がありません。もちろん、値に null を使用することもできますが、null でもスペースを取ります。このアプリケーションには、より優れたデータ構造が必要なようです。
コレクションは複数のスレッドで使用される可能性がありますが、コレクションに含まれるオブジェクトは変更されないため、同期/同時実行の要件はないと思います。
誰でも私を助けることができますか?
hashtable - ハッシュテーブルとソートされたリストのどちらでアイテムを見つけるのが速いですか?
ハッシュテーブルとソートされたリストのどちらでアイテムを見つけるのが速いですか?
ms-access - 数値の値を持つ Access TextBox を、TextBox を条件として DLookup と等しくする方法
これが機能しない理由は本当にわかりませんが、次のことを機能させようとしています。
上記のコードは、私が取り組んでいる大規模なプロジェクトのテスト コードであるため、テーブルとフィールドの名前はテスト用です。また、Field1 は数値フィールドです。基本的に、Text1 に 1 を入力すると、DLookup 機能が Test1_Table.Field1 内で 1 を見つけて、それが機能することを示すメッセージを表示するようにしたいと考えています。これを次のような文字列値で機能させることができます。
同様に、これは Text1 に 1 が入力された場合に機能します。
しかし、私は試しました:
と
等...
さまざまな組み合わせを試してみましたが、数値を扱うときに 2 つを等しくすることができないようです。誰かが私が欠けているものを知っているか、何かアイデアを持っていますか?
ありがとうございました、
ダミオン
ip - PatriciaTrieで最長のプレフィックス検索を見つけるためのアルゴリズム/手順
私はパトリシアがIPプレフィックスルックアップを試みて実装しています。完全なキー一致のためにコードを機能させることができましたが、次のような他のキーのプレフィックスであるキーがある場合、プレフィックス検索で問題に直面しています。
上記の場合のプレフィックス検索のアルゴリズムを誰かが手伝ってくれますか?これらを別々の長さ(つまり、/ 24と16)のキーと見なす必要がありますか?
delphi - Delphiコードでプログラムでinstantobjectsフレームワークを使用して参照付きのオブジェクトを作成するにはどうすればよいですか?
私はinstantobjectsを試しています。2つの単純なクラスtbandとtcountryがあり、どちらも保存済みとして定義されています。tbandには、tcountryクラス/テーブルを参照するtcountryという名前のプロパティがあります。(国はルックアップテーブルです)。新しいバンドを作成するとき、ユーザーがリスト/コンボからフォームで国を選択し、バンドオブジェクトを保存できるようにしたいです。私は次のようなことを試しました:
CountryConnectorはTInstantConnectorです。「select*from TCountry」というクエリがあり、DbComboBoxに値を表示します。
sharepoint - Sharepoint Designer ワークフローで別のサイトからリスト データにアクセスする
Sharepoint Designer 2007 でワークフローを作成するときに、別のサイトからリスト データをルックアップできるかどうかを知っている人はいますか? [ワークフロー ルックアップの定義] ダイアログでは、ワークフローを作成している現在の SharePoint サイトのリストからのみ選択できます。理想的には、親サイトのリストまたは特定の URL のサイトから選択できるようにしたいと考えています (例: http://myserver/mysite )