問題タブ [value-objects]

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 に答える
482 参照

java - BlazeMonster (AS3 VO/DTO Generation) は複雑な Java クラスをサポートしていますか?

BlazeMonsterは、複雑な Java クラス (enum、generic、collection/set/list/map など) から AS3 Value Object/Data Transfer Object を問題なく生成できますか?

ありがとう。

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

nhibernate - Fluent NHibernate を使用してコンポーネントのコレクションを自動マップする方法は?

私のすべてのエンティティと値オブジェクトは、マーカー インターフェイスIEntityIValueObject. 次のようにコンポーネントとして扱われるように設定しました。

残念ながら、これは、値オブジェクトのコレクションを持つエンティティをコンポーネント コレクションとして自動マッピングすることを許可していないようです。例えば:

がを実装する型の をIEntity持っているときはいつでも、指定したかのようにマップされるように、規則を定義する方法はありますか?IListIValueObject

私がやりたくないのは、これらのオーバーライドをすべてのクラスに対して手動で行い、値オブジェクトの各プロパティを何度も書き出す必要があることです。

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

entity - 値オブジェクトをエンティティの識別子として使用する

サンプル DDD プロジェクトで Evans のプロジェクトを表示しているときに、Cargoエンティティで、Evans が値オブジェクトである tracknumber を使用していることに気付きました。彼がプレーンstring tracknumberを選択せず​​、ID に値オブジェクトを選択したのはなぜですか? エヴァンスのスニペットは次のとおりです。

0 投票する
5 に答える
7215 参照

domain-driven-design - CQRS の値オブジェクト - 使用する場所

コマンド、ドメイン モデル、ドメイン イベント、モデル DTO の読み取りなどのコンポーネントを備えた、CQRS にヒントを得たアーキテクチャがあるとします。
もちろん、ドメイン モデルで値オブジェクトを使用できます。私の質問は、それらが以下でも使用されるべきかということです:

  1. コマンド
  2. イベント
  3. DTO

上記のコンポーネントで値オブジェクト (VO) が使用されている例は見たことがありません。代わりに、プリミティブ型が使用されます。単純化した例にすぎないのかもしれません。結局のところ、DDD での VO の使用についての私の理解は、VO がアプリケーション全体の接着剤として機能するということです。

私の動機:

コマンド。
ユーザーが住所フィールドを含むフォームを送信したとします。この概念を表す Address Value Object があります。クライアントでコマンドを構築するときは、とにかくユーザー入力を検証する必要があり、整形式であれば、すぐに Address オブジェクトを作成して Command を初期化できます。Address オブジェクトの作成をコマンド ハンドラーに委任する必要はないと思います。

ドメイン イベント。
ドメイン モデルはすでに値オブジェクトの観点から動作しているため、イベントをプリミティブ型に変換する代わりに VO を使用して発行することで、マッピング コードを回避できます。この場合、VOを使用しても問題ないと確信しています。

DTO。
クエリ側の DTO に値オブジェクトを含めることができれば、柔軟性がいくらか向上します。たとえば、Money オブジェクトがある場合、それを EUR で表示するか USD で表示するかを選択できます。読み取りモデルを変更する必要はありません。

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

c# - DDD - 別のテーブルで Fluent nHibernate を使用して値オブジェクトをマッピングする

編集:

こんにちは、この質問に答えるために編集を試みています。質問を改善するために、要点を要約したバージョンを次に示します。

以下のコードは、流暢な nhibernate を使用して値オブジェクトを個別のテーブルにマッピングする場合の方法ですか、それとも別の方法がありますか?


やあ、

この質問の目的のために、流暢に構成された nhibernate を使用しています。

私は着実にDDDを学んでいますが、値オブジェクトのマッピングを明確にした後です。値オブジェクトをコンポーネントとしてマッピングすることに関する多くの情報があるようです。ただし、場合によってはデータベースを正規化したいので、値オブジェクトに永続性 ID を付与します (これが正しければ、DDD 値オブジェクトの規則に違反しません)。

SO でこの質問を見たことがありますが、実際の値オブジェクトをセットアップしてマップする方法についてもう少し情報が欲しいです。

値オブジェクトをエンティティを表すテーブルにマッピングするときは快適です。たとえば、アドレス値オブジェクトを顧客テーブルにコンポーネントとしてマッピングします。

私のクエリは、別のテーブルに配置したい値オブジェクトをマッピングするときにあります。以下のようにclassmapを使用して値オブジェクトをマップする最良の方法はありますか? 純粋に nhibernate の永続性のために存在する Id を無視する予定です。

前もって感謝します。

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

entity-framework - 最初に金銭的価値オブジェクトを使用するEntityFramework4モデル

アプリケーションでMoney値オブジェクトを使用したい。Moneyデータ型の例をいくつか見つけました。しかし、EF4でそれらを使用する方法を理解することはできません。各金額をDecimal/CurrencyCodeペア(currencycodeは文字列-「USD」、「SEK」など)としてデータベースに保存したいと思います。complexTypeを作成しようとしましたが、機能させることができませんでした。これは可能ですか?

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

c# - POCOと「値オブジェクト」の唯一の違いはPOCOターゲット.Netですか?

私は実際にPOCOの正確な意味を理解しようとしています(はい、私はすでにウィキペディアを読んでいますが、それでも要点を理解することはできません:()。

値オブジェクトは、基本的に、動作なしでデータを保持するためのプロパティのみを持つオブジェクトであることを理解しています。

この場合、POCOと「値オブジェクト」は同じ構造を持っているように見えますが、違いはPOCOが.netフレームワークをターゲットにしているという事実にあります。

私は正しいですか?

ありがとう。

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

c# - 通貨は値オブジェクトであるかどうか

ルートアグリゲートであるPersonアグリゲートがあります

Personクラスで参照されるCurrencyクラス。

したがって、Personエンティティが作成された場合は、それも通貨に関連付ける必要があります。ただし、作成されたすべての通貨の中で、デフォルトのプライマリストア通貨がどれであるかを知りたいです。通貨が1つしかないので、Personで知りたくありません。作成されたすべての人の通貨からPrimaryStoreCurrencyである通貨を取得したいと思います。

ユーザーがドロップダウンから通貨を選択してシステムに登録できるように、ドロップダウンで通貨をバインドしたいと思います。

では、通貨を個別の集計として作成しますか?

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

oop - ドメイン オブジェクトと値オブジェクト - それらは同じですか?

ドメイン オブジェクトから Zend へのクイックスタート チュートリアルの例と、DAO/VO パターンを考慮した他の例を見ると、両者は非常に似ているように見えます。

「値オブジェクト」と言うのは「ドメイン オブジェクト」と同じだと推測できますか?

そうでない場合は、それらの違いを明確にしていただけますか?

あるものの機能は何ですか?

どちらもゲッターとセッターによって構成されており、それ以上のものではないため、私はこれを求めています。どうやら、彼らは同じ機能を果たしているようです...

アップデート:

そのため、Zend Framework クイック チュートリアルのドキュメントでは、これをドメイン オブジェクトと呼んでいました。

1)厳密に言えば、「Anemic Domain Object」に直面しているのでしょうか?

2)ドメインロジックが含まれているという理由だけで「ドメインオブジェクト」と呼ばれていますか?

3)この場合、findBookByAuthor() などのメソッドを含むマッパー。彼らはドメインロジックも扱っていますよね?それらもドメインオブジェクトと見なすことができますか?

どうもありがとう

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

actionscript - ActionScript: Constructor for Value Object classes

Is it OK to use the constructor to set properties for a value object class or must I use dot notation and set each one, one-by-one?

I recently read an article that was saying I should do it one-by-one as value objects should only contain properties and went on to say using the constructor is not OK (best-practice wise).

Code:
("not OK")

var employee=new Employee(firstName,lastName,age);

("OK")

var employee=new Employee();
employee.firstName=firstName;
employee.lastName=lastName;
employee.age=age;

What's your take on this?

Thank you.