問題タブ [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 投票する
2 に答える
798 参照

grails - Grails ドメイン リストの名前付きクエリ

私は単純な Grails アプリケーションを持っています。次のようなドメインがいくつかあります。シナリオは、Person が多くの Telephone を持っている (ただし、Person クラスには変数として Telephone のリストがない: Lazy Single-Ended Associations) です。

今、私は電話番号でその人を検索しなければならないという要件があります。文字列の電話番号のリストがあります。その電話番号を少なくとも 1 つ持っているすべての人を取得する必要があります。私はnamedQueriesを書く必要がありますが、私はこの分野にはまったく慣れていません。このために名前付きクエリを書くことは可能ですか? または、 Person クラスで次のように定義されたマッピングが必要ですか?

そして、私の要件に合うようにnamedQueriesをどのように定義する必要がありますか

前もって感謝します

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

grails - Grails ドメイン 文字列リストの名前付きクエリ

私は単純な Grails アプリケーションを持っています。私は以下のようなドメインを持っています

ここで、ジャンルのタイトルのリストを取得する必要があります。これらのジャンルのいずれかで少なくとも 1 冊の本を持っているすべての著者を取得する必要があります。Author クラスに名前付きクエリを記述する必要があります。次のクエリを試しました

そして、次のように文字列のリストを渡します

しかし、これは機能していないようです。うまく機能する他のいくつかの簡単な名前付きクエリがあります。したがって、「hasGenere」を含めて検索すると、検索には影響しないようです。私は何を間違っていますか?私はこの分野にかなり慣れていない

前もって感謝します

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

grails - Grails の名前付きクエリが「in」ステートメントで機能しない

Grails アプリケーション (2.2.4) があります。私が持っているドメインクラスの場所は次のようになります

以下のようにクエリを実行すると、すべての値が取得され、genereNameList にジャンルを持つ本が少なくとも 1 冊ある著者だけではありません。

しかし、次のようにnamedQueryを変更すると、

そして、次のような文字列を渡すと

これは期待どおりに機能します。足りないものはありますか?

前もって感謝します

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

php - ドメイン オブジェクトを正しく使用していますか?

こちらの記事によると

[サービス] は「より高いレベルのドメイン オブジェクト」と考えることができますが、ビジネス ロジックの代わりに、サービスはドメイン オブジェクトとマッパーの間のやり取りを担当します。これらの構造は、最終的に、ドメイン ビジネス ロジックと対話するための「パブリック」インターフェイスを作成します。それらを回避することはできますが、一部のドメイン ロジックがコントローラーに漏れるというデメリットがあります。

私は MVC について調べていて、M の部分をサービス、ドメイン オブジェクト、およびデータ マッパーに分割しました。サービスとデータ マッパーは簡単に理解できますが、ドメイン オブジェクトの理由がわかりません。いくつかの例を教えてください。これが私のコードです:

会員サービス

MemberDomainObject

アップデート:

この質問はメソッド checkPassword に関するものであり、代わりにサービス内で使用できる IF ステートメントを使用するためだけに別のオブジェクトを作成する必要がある理由であり、新しいオブジェクトを作成するために追加のリソースを使用することから RAM を節約します。

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

grails - grails ドメイン オブジェクトを拡張するのは良い考えですか?

永続化を必要としない grails ドメイン オブジェクトと同様のオブジェクトが必要です。フィールドを変更するために 2 つの場所を変更する必要がないようにするために、ドメイン クラスを拡張して、単一のフィールド セットの利点を得ることができるようにすることをお勧めします。ただし、関連するすべてのオブジェクトとコレクションをやり直す必要があります。

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

java - ドメイン オブジェクトの設計の何が問題なのかわかりません

私はこの2つのクラスを持っていますが、誰かが私が間違っていたと言いました。

これは、Seat クラスと関係がある私の従業員クラス用です。

また、座席に従業員属性を追加しました。これは、座席を取得するときに、その座席の現在の占有者を特定する必要があるためです。従業員と同じことです。それを取得するときに、従業員の現在の座席を特定したいと考えています。さて、従業員には座席属性があり、座席には従業員属性があるため、ひどい設計だと彼らは言いました。

0 投票する
0 に答える
126 参照

php - コレクションの「内部」でのドメイン オブジェクトの作成を処理する方法

私はMVCっぽい構造は初めてなので、気楽にやってください。目的を理解するために、独自の小さな MVCish「フレームワーク」をコーディングしています。少しずつ、すべてが正しい方法でどのように組み合わされるかを理解するつもりです。

MVC でモデルをどのように構築する必要がありますか? teresko によるものであり、Domain Object != Domain Object Collectionドメイン オブジェクトの一括作成とコレクションへのそれぞれの挿入を処理する方法を見つけようとしています。

彼の例では、単一の ServiceFactory インスタンスをコントローラーとビューの両方に渡します。このインスタンスには、そのコンストラクターに注入された MapperFactory と DomainObjectFactory があります。コレクションファクトリーはありません。

ServiceFactory.php は次のようになります

例として、呼び出されたドメイン オブジェクトがContractあり、ビューでそれらすべてをリストに表示したいとします。おそらく「モデル」に のようなものを伝える必要$ContractService->fetchAll()があります。これは、コレクションをインスタンス化し、マッパーにすべてのコントラクトを入力するように指示します。右?

コレクションにはドメイン オブジェクトが含まれている必要があり、そのようなメソッド$ContractMapper->fetchAll($collection)はおそらくそれらの束を作成する必要があることを考えると、それらの作成を処理する方法!?

  • 専用のコレクション ファクトリも用意する必要がありますか?
  • コレクション オブジェクト内のメソッドで単一のドメイン オブジェクトを作成する必要がありますか?
  • Collection Mapper 内のメソッドで単一のドメイン オブジェクトを作成する必要がありますか?
  • もしそうなら、ドメイン オブジェクト ファクトリをそれらの 1 つに挿入する必要がありますか? (これには、より多くの Factory 依存関係が注入された ServiceFactory が必要になる可能性がありますが、これは悪いことですよね?)

これは、コーディングが不十分な方法で簡単に実現できると思いますが、最もエレガントでクリーンなソリューションを見つけようとしています。

0 投票する
3 に答える
1423 参照

php - DDD、PHP。ドメイン オブジェクトとビジネス ロジック

最近、ddd とモデル層の概念を理解するのにとても忙しくしています。大量の記事、例、Q & A を読み、それに何時間も費やしました。それでも、いくつかの原則が正しいかどうかはわかりません。

それらの 1 つは、次の質問に対する答えです。ドメイン オブジェクトには、どの程度のビジネス ロジックが存在する必要がありますか? 一部のソースでは、ドメイン オブジェクトはビジネス ロジック全体にアタッチする必要があると言われていますが、一方、ドメイン オブジェクトは可能な限り小さくし、その値のみを表す必要があると想定する記事に出くわしました。それは私を本当に混乱させます。

私の理解では、ドメイン オブジェクトは、ドメイン内のエンティティを表すクラスです。

たとえば、Invoice エンティティを使用してみましょう。各請求書は、その項目で構成されています。請求書の値を計算するには、すべてのアイテムの値を合計する必要があります (これは非常に単純な例です。現実の世界では、税金を追加したり、支払った値を計算したりする場合があります)。

私の理解では、メソッド isPaid() は適切な場所にあります。独自のデータを参照します。しかし、getInvoiceValue() についてはよくわかりません。ここでは、他のドメイン オブジェクトを操作します。

データを表すためだけにドメイン オブジェクトを使用し、より高度なタスクを実行するにはいくつかのデコレータを使用する必要があるのではないでしょうか?

前もって感謝します。