問題タブ [domain-object]

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.

0 投票する
1 に答える
101 参照

grails - ドメイン オブジェクトのグループ化制約

ドメイン オブジェクトの制約をグループ化する方法はありますか? このようなもの:

リッチドメインプラグインは、非ドメインオブジェクトに対してこれを行います...ドメインオブジェクトに対してこれを行いたいです。

0 投票する
2 に答える
3262 参照

c# - AutoMapper ソース オブジェクトの単一リストを宛先オブジェクトの 2 つのリストにマップする

AutoMapper を使用して、オブジェクトのリストを含む Domain-object からマップしようとしています。ここには、AutoMapper がそのリストを宛先オブジェクトの 2 つの宛先に分割するために使用するプロパティを使用したいブール型のプロパティがあります。 .

私の基本的なドメインは次のようになります(ソース)

したがって、私のソースはIList<Article>になります

私のビューは次のようになります(宛先)

指名手配のマッピング

ここで、ActiveArticles には「IsActive=true」の記事のみが含まれ、InactiveArticles の場合はその逆です。

あなたの誰かが、私がこの種のマッピングを始めるのを手伝ってくれることを願っています.

前もって感謝します。

0 投票する
1 に答える
1925 参照

php - データマッパーはどのようにドメインオブジェクトを返す必要がありますか?

モデルレイヤーには、データマッパー、ドメインオブジェクト、および「サービス」(モデルレイヤーの外部に接続するため)があります。DomainObjectFactoryとDataMapperFactoryを実装することを選択したため、DM<->DOの関係に固執しました。理想的には、データマッパーは「get」/「read」を実行するすべてのメソッドに対して関連するドメインオブジェクトのインスタンス(またはインスタンスの配列)を返しますが、データマッパーはドメインオブジェクトファクトリにアクセスできません。

DMとDOのファクトリパターンがないと、オートローダーがDM内を引き継いで、DOのインスタンスを作成できます。しかし、これは工場でどのように達成されますか?

私が考えることができる1つの可能な解決策は、関連するドメインオブジェクトのインスタンスをデータマッパーメソッドに渡すことです。

このオプションは非常に汚いようですが、単一のgetメソッドでは機能します。ただし、ドメインオブジェクトの配列を返す場合は意味的にオフザレールになるため、これを実現するための最善の方法ではないことは明らかです...別のオプションは、データマッパーがドメインオブジェクトファクトリにアクセスできるようにすることです。しかし、それは大規模なLOD/SRP違反になります。

つまり 、データマッパーがドメインオブジェクトファクトリにアクセスして、ドメインオブジェクトを返すことができるようにするにはどうすればよいでしょうか。

0 投票する
1 に答える
372 参照

php - データベース操作の前にドメイン オブジェクト データを検証する方法は?

次のように、抽象的な (そして単純な) 例を使用して質問を説明CarDomainObjectします: (例の mysql データ型はメンバーの横にリストされています)

新しい車をデータベースに挿入したいとします。そのため、いくつかの値を設定します。

これで、設定されていない値は引き続き になります。これは、メソッドNULLに適しています。isDirty()このスキーマが機能しないのは、オブジェクト (上記のように初期化され、特定の値のみを使用) をデータベースに挿入するときです。ここでNULLは、列の有効な値ではない可能性があります。

そこで、私の質問は、ドメイン オブジェクト内の各データが DB 挿入の準備ができていることをどのように検証できるでしょうか? 私の見方では、いくつかのオプションがあります。

  1. 0メンバー変数 ( int、''varchar など) にデフォルト値を使用するisDirty()と、null チェックでは不十分なため、より複雑になります。ただし、デフォルト値は問題なく挿入できるため、データを挿入できることを確認するのは簡単です。

  2. NULLデフォルト値のままにしておくisDirty()と、かなり簡単なままになりますが、DB 用のデータの準備が整っていることを確認するのは複雑になります。

  3. 各変数を個別に検証します。これは、DO によってはすぐに見苦しくなります。

  4. MySQL 内でデフォルト値を使用する - 私にとっては実際にはオプションではありませんが、一般的には有効なオプションです

0 投票する
2 に答える
365 参照

java - Java - Spring - 検索ドメイン オブジェクト

Spring を使用して HTTP リクエスト パラメータをビジネス ドメイン オブジェクトに自動的にマップするコントローラがあります。ドメイン オブジェクトのフィールド データをデータベースに永続化します。

ドメイン オブジェクトに関連するフィールドの任意の組み合わせでの検索をサポートする必要がある別のコントローラーがあります。一部のフィールド (日付フィールドなど) では、範囲内での検索を許可する必要があります。したがって、日付フィールドが 1 つしかないため、ドメイン オブジェクトを再利用することはできません。

たとえば、日付フィールドを持つレポート ドメイン オブジェクトがあります。ただし、検索には「開始」レポート日付フィールドと「終了」レポート日付フィールドが必要です。

ビジネス ドメイン オブジェクト (範囲検索をサポートするフィールドを除く) をほとんどミラーリングする検索専用のドメイン オブジェクトのセットを作成する必要がありますか? または、これを行うためのより良い方法はありますか?

よろしくお願いします。

0 投票する
1 に答える
574 参照

grails - Grails の外部からの GroovyObject ではないドメイン オブジェクトの Class.forName newInstance

コンパイル済みの grails プロジェクトがあり、別の groovy プロジェクトから、次のようにドメイン クラスを反射的にロードします。

(私の別の groovy プロジェクトで) grails の外から実行すると、オブジェクトは GroovyObject として認識されません。

私は grails の外から実行しているので、groovy はドメイン クラスを他のクラスと同じように扱うと思います (クラス ファイルを見ると、GroovyObject が実装されています)。

私の推測では、これは grails がドメイン オブジェクトをコンパイルする方法と関係があると思われますが、ここで何が起こっているのかはわかりません。

これはWhy does Class.forName work on grails domain classesに関連していますが、同じではないことに注意してください。

0 投票する
1 に答える
141 参照

c# - wcf サービス応答で返されるオブジェクトは何ですか?

データを取得するために一連の WCF サービスと通信する MVC4 アプリケーションを開発しています。svcutil を使用して、エンドポイントからサービス参照を生成します。

サービス操作は、リクエスト オブジェクトを受け取り、レスポンス オブジェクトを返します。これらのオブジェクト内には「エンティティ」があります。たとえば、getproduct オペレーションは、「Product」タイプの Product というプロパティを持つ getproductresponse オブジェクトを返します。

私が持っている質問は、「製品」オブジェクト、エンティティ、poco、またはドメイン オブジェクトですか? そのようなオブジェクトをすべて含むクラス ライブラリを作成したいのですが、それを何と呼ぶべきかわかりません。

0 投票する
1 に答える
1199 参照

php - PHP で成功するドメイン オブジェクト ファクトリを作成するにはどうすればよいですか

MVC フレームワークをいじっていて、解決方法がわからない問題に出くわしました。

アプリケーションのモデル層用に を作成したいのですDomainObjectFactoryが、各 Domain オブジェクトには異なる引数のセットがあります。たとえば、次のようになります。

  • 人物 - $id、$name、$age.
  • 投稿 - $id、$author、$title、$content、$comments
  • コメント - $id、$author、$content

等々。必要なオブジェクトの種類を工場に簡単に伝えるにはどうすればよいですか?

私はいくつかのオプションを思いつきました:

  • 配列を渡す - 私はこれが好きではありません。コンストラクターのコントラクトに依存して、オブジェクトが作業に必要なものを判断できないからです。
  • インターフェイスDomainObjectFactoryを作成し、具体的なクラスを作成します - 問題があります。作成するファクトリが非常に多いためです。
  • Reflection - Service locator を多用しますか? わかりません、私にはそう見えるだけです。

ここで使用できる便利な設計パターンはありますか? または他の賢い解決策はありますか?

0 投票する
1 に答える
75 参照

php - モデルで「Join」を使用するか、他のモデルを呼び出すか

私は OOPHP の学習過程にあり、「ベスト プラクティス」のアドバイスを探しています。

リレーショナル データベースでは、多くのテーブルに明らかに外部キーがあります。サイトのモデルを作成しているときに、モデルで JOIN クエリを実行する方がよいのか、それとも 1 つのモデルで別のモデルを呼び出す方がよいのかを判断しようとしています。

他のモデルを呼び出すと、コードのモジュール性が保たれるようです。どちらの方法でも、別のテーブルであろうと別のモデルであろうと、依存関係を作成しているようです。

「他のモデルを呼び出す」アプローチを使用すると、別の問題、つまり無限ループに遭遇するようです。これが私が実行している例です。私は2つのテーブルを持っていpersonますschool. それぞれpersonに で表されるお気に入りの学校がありschoolIdます。それぞれschoolprincipal、つまり がありpersonIdます。

person行がマップされるオブジェクトは、そのコンストラクターでオブジェクトを受け入れますschoolschool、学校の行がマップされるpersonオブジェクトは、そのコンストラクターでオブジェクトを受け入れます。

私が見つけたものから、遅延読み込みに関する何かが解決策のようですが、(私が間違っている可能性があります) それを行うと、PHP の型ヒントを使用できないようです。

(多くの人が Doctrine のような ORM ツールを提案してくれると思いますが、それは私が将来必ず検討するものです。学習曲線が急勾配であると想定されているため、またそれらのツールをよりよく理解していると感じているため、今は避けています。後で自分で試してみると)

0 投票する
1 に答える
477 参照

java - Riak-JavaはScalaのMapReduceクエリからドメインオブジェクトを逆シリアル化できませんか?

単純なバケットでMapReduceクエリを実行します。何らかの理由で、Jacksonから例外が発生しています。

これが私が実行しているMapReduceクエリです:

これを使用してJSONを呼び出すと、getResultRaw()値を含まず、キーのみを含むJSONの文字列が返されます。

それで、私はここで何を見落としていますか?ある種のドメインコンバーターを呼び出す必要がありますか、それともMapReduceクエリ自体に問題がありますか?

編集

IRiakObjectsそれが役に立ったら、Riakに保存する方法は次のとおりです。