- すべて
- 画像・動画
並べ替え:新着順
複数集約の取り扱いの話ので、ぜひこちらの記事をご覧ください。 ①のようにユースケース層で実装するか、ドメイン層にその手続きを表現するクラスを作成するという2パターンが基本です。 https://li… (残り54字) #querie_little_hand_s querie.me/answer/z2PUqSo…
はい、それは集約の目的と反するので「原則的には」お勧めしません。 集約は、集約内の値の整合性の制御を集約のオブジェクトで完結させる=集約のコードを読めば整合性のルール/制約が把握できる様にする、という… (残り355字) #querie_little_hand_s querie.me/answer/khM04IS…
2の方が保守性が高くなりそうであればそれはいいと思います。あとはUXとの相談ですね。 どちらも選択肢としてはとりえるもので、保守性、機能性のバランスで考えます。 #querie_little_hand_s querie.me/answer/xcsHQaQ…
ドメインモデルかどうかの判定は制約の有無ではありません。ドメインモデリングで、「ユーザーがあり、タグを紐づける情報を保持する」というモデリングをしたとすると、それはドメインモデルと考えて良いです。制約… (残り110字) #querie_little_hand_s querie.me/answer/og703z5…
アーカイブの存在をドメイン層、ユースケース層で意識したくない場合は、インフラ層のリポジトリの実装クラス内で完結させましょう。 ドメイン層、ユースケース層で意識したい場合(とくに、アーカイブを画面に表示… (残り62字) #querie_little_hand_s querie.me/answer/Ns2rOQ8…
できればそうしたくないので手を考えます。 ①LUIDのような仕組みでDBに依存せずユニーク性を担保した発番をする(おすすめ) ②DBから次の値を取得する ③Nullableを許容する IDが連番でな… (残り56字) #querie_little_hand_s querie.me/answer/s1h4aTP…
原則エンティティには、値のみを渡すほうがよく、ドメインサービス敵やdiしたインスタンスが必要なものは渡さない方が一般には保守性を高めやすいです。エンティティがつくられ、そこからDBアクセスし、エンティ… (残り241字) #querie_little_hand_s querie.me/answer/ncObgKJ…
更新用のモデルと参照用のモデルを分ける場合、必ずしも全てを参照用のモデルに統一する必要はありません。必要なところだけ参照用モデルと取得用のクラス(クエリサービス)を定義するで大丈夫です。 #querie_little_hand_s querie.me/answer/CdfnD1B…
CSQRのルールに従うかどうかよりも、そのルールを採用することによるメリットとデメリットを考え、それに基づいて自分のプロジェクトでのルールを決めましょう。 更新用モデルと参照用モデルに分けるということ… (残り347字) #querie_little_hand_s querie.me/answer/JhH8Z43…
テストはテストのリターンとコストを考慮して実装するか決めます。 ご質問のケースだとそのような実装になると思います(検索するともう少し簡潔な実装があるかもしれません)。その上で要否を決めます。 前提にな… (残り245字) #querie_little_hand_s querie.me/answer/2kb3hfi…
はい、不変条件(どんなときも守らなければいけない制約/ルール)が守られていて、不整合なインスタンスが生まれなければ、問題ありません! #querie_little_hand_s querie.me/answer/ovMYSIX…
まず、考える順番はドメインモデル→テーブル設計、の順番で考えましょう。 ドメインモデルありきで、それを永続化するために中間テーブルという設計をとる、と言う順番です。文字通りドメインモデルに存在しなけれ… (残り193字) #querie_little_hand_s querie.me/answer/nQtAnyT…
正確には、「メリデメを考慮して、メリットの方が大きければ許容する」です。 一番良くないのは、その考慮抜きで「接続先は無条件で意識させない」と決め打ちしてしまうことです。そもそも永続化層を意識させない… (残り607字) #querie_little_hand_s querie.me/answer/dnNsifg…
複数のAPIを叩いているということをドメイン層、ユースケース層で意識させたくない場合は、1つのオブジェクトと、外部システムとのクライアントのインターフェイスを1つだけドメイン層に定義します。そして、イ… (残り343字) #querie_little_hand_s querie.me/answer/BThqRcg…
DDDの要素は大きく分けてモデリングと実装パターンの2つに分けられます。 このうち、モデリングは、ドメイン(ソフトウェアで問題解決をしようとする領域)を理解して具体例を挙げ、ソフトウェアを役に立つもの… (残り434字) #querie_little_hand_s querie.me/answer/3vjJkWm…
ちょっと違います、こちらの記事を読んでいただけるとイメージを持っていただけると思います! little-hands.hatenablog.com/entry/2017/11/…… (残り20字) #querie_little_hand_s querie.me/answer/E2xHmO2…
まず、データ取得クライアントのインターフェイスとその入出力の型をドメイン層に定義します。 インフラ層にそれを実装するクラスを実装します。 ユースケース層は、このインターフェイスにだけ依存します。する… (残り144字) #querie_little_hand_s querie.me/answer/nIFnp1I…