並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 15 件 / 15件

新着順 人気順

"Value Object"の検索結果1 - 15 件 / 15件

  • Value Objectについて整理しよう - Software Transactional Memo

    Value Objectとは何であるか? マーチン・ファウラーのPatterns of Enterprise Application Architecture(PofEAA)やエヴァンス・エリックのDomain Driven Design: Tackling Complexity in the Heart of Software(DDD)が原典であるが、PofEAAではこう切り出している。 When programming, I often find it's useful to represent things as a compound. プログラミング時は物をcompound(合成物)として表現すると便利なことがしばしばある。 例えば2次元空間上での座標のように複数のメンバ(属性)を持つ物は便利である、と。しかしそれらを比較する方法は一意ではない、そこで Objects that a

      Value Objectについて整理しよう - Software Transactional Memo
    • 値オブジェクト(Value Object)は3種類ある - パンダのプログラミングブログ

      Value Object(値オブジェクト)は3種類あった Value Object(値オブジェクト) の意義と使い所がわからなかった。そこで調べてみたらなんと3種類あった。面白かったのでその調査過程を紹介する。 なお、現在では DDD の意味での Value Object がメインであること、またこれは自転車置き場の議論であり、DDD Quickly の Value Object の章を読む方が有意義であることを先に記しておく。 1. Data Transfer Object 1つ目は、Data Transfer Object(DTO)の意味だ。これは PoEAA に少しだけだけ出てくる。かつてのJava界隈の一部では(?)DTOのことを Value Object と呼んでいた。だが、現代では Value Object と DTO は別物として定着している。PoEAA は2000年代前半に

        値オブジェクト(Value Object)は3種類ある - パンダのプログラミングブログ
      • 俺たちのドメイン駆動設計はこれからだ!

        ドメイン駆動設計に取り組んだ事例をもとに以下の点について説明しました。 1. ドメイン駆動設計とは一体何か? 2. どんなメリットがあるのか? 3. ドメインモデルについて 4. 設計パターンについて 5. ドメイン層の隔離について

          俺たちのドメイン駆動設計はこれからだ!
        • DDDにおける値オブジェクトの位置付け(モデルとコード事例あり)[ドメイン駆動設計] - little hands' lab

          株式会社ログラスの松岡(@little_hand_s)です。 最近、値オブジェクトに関して書かれているブログ記事を見ますが、 SNSなどにおいてDDDにおける値オブジェクトについて誤解されているような反応が見受けられました。 そこで、この記事では「DDDにおける値オブジェクトの位置付け」について解説し、具体的なモデル・コードを用いながら誤解を解いていきたいと思います。 なお、値オブジェクトに関する詳細な説明はここでは行いませんのでご了承下さい。 DDDの目的 まず最初に、DDDの目的について確認します。 DDDの目的は、モデリングを通じてソフトウェアの価値を大きくすることです。 これに関しては、こちらの記事で詳細に解説しているのでこちらをご覧ください。 ドメイン駆動設計は何を解決しようとしているのか - little hands' lab ここで大切なのは、モデルは一回のモデリングで完成形

            DDDにおける値オブジェクトの位置付け(モデルとコード事例あり)[ドメイン駆動設計] - little hands' lab
          • ドメイン固有型(値オブジェクト含む)を再考する - かとじゅんの技術日誌

            Value Objectが盛り上がっているらしい。 Value Objectについて整理しよう - Software Transactional Memo Value Objectの説明に異論がないものの、主題はValue Object Obsessionのほうですよね。 こちらも聞いてみた。 fukabori.fm よい機会なので、よくわかっているつもりの、値オブジェクトというかドメイン固有型について再考してみよう。 それは値か属性か それはエンティティの全メンバーやデータベースの全列のために「顧客郵便番号」「送付先郵便番号」「事業所郵便番号」「契約日」などのクラス(メンバではなくクラス!)を定義して、immutableな振る舞いを強制する事を以てValue Objectであると言い張り、ドメイン知識の断片をそれぞれのクラスに書き散らして「高凝集になった」「型システムが守ってくれる」と喜

              ドメイン固有型(値オブジェクト含む)を再考する - かとじゅんの技術日誌
            • メモ:値オブジェクトの定義と差異について - かとじゅんの技術日誌

              「値オブジェクト」の定義について不勉強だったので「DDDの値オブジェクト」の定義とDDD以外の「値オブジェクト」との違いについて、改めて関連書籍を読み直し整理してみました。 すごい長いし細かいので他人に読ませるような記事ではなく、自分のために書いたメモです。 もし読むなら興味がある人だけで。 自分向けのメモですが、一応 この記事の前提や意図を書いておきます。 「DDDの値オブジェクト」以外を否定する記事ではありません。 原理主義のように書籍の理想どおり実践するべきだと主張するつもりはありません 「理想に従えばよい」「理想に従うの無意味だ」と決め付けの二項対立的な思考ではなく、理想と現実の絡み合ったグレーゾーンを見極めつつ、現場で手を打つのが優れた実践者ではないでしょうか 下記に紹介する、それぞれの値オブジェクトの優劣について細かく議論し、論破する・されることを目的としていません。 言い訳と

                メモ:値オブジェクトの定義と差異について - かとじゅんの技術日誌
              • #fukabori をきいて Value Object と Value Object パターンについて頭の中を整理 - Mitsuyuki.Shiiba

                連休の余韻も楽しんだので今日から散歩を再開した。ちょっと前までは「陽の光を浴びなきゃ!」と思って3時過ぎにウロウロしてたけど、これからはもうちょっと涼しい時間帯がいいなと思って、夕暮れ時に散歩しながら fukabori.fm を聴いてた。Value Object のお話。面白いなぁ 73. Value Object w/ kumagi | fukabori.fm kumagi さんの記事はこちら Value Objectについて整理しよう - Software Transactional Memo お絵描き PoEAA や DDD はだいぶ前に読んだことがあるけど、Value Object を雰囲気で捉えてるからちゃんと見直しておこうと思って、調べたりしながら絵を描いた。こういうことなのかな? (絵をかくほどでもなかった・・・ Value Object とは? kumagi さんも書いてる

                  #fukabori をきいて Value Object と Value Object パターンについて頭の中を整理 - Mitsuyuki.Shiiba
                • Value Object (値オブジェクト) でリファクタリングしたら結構良かった

                  ドメイン分析とモデル化ここで「モデル化」と呼ぶのは、実装者が理解しやすいように重要な側面に注目して、端的な形に抽象化する行為であると定義します。 また、実際に実務で行なっている自身のモデル化を行う時の書き振りを近しく再現(中身は変更)しているため、わかりづらいかもしれませんが、”実務ではこうやっている” というのを理解していただければ。 先の要件を整理すると、数という概念に金額とポイントという2つのドメインモデルが含まれる。 金額とポイントという異なる概念を計算して最終的に獲得ポイント数を導き出す必要がある。 存在する制約 金額が負の数になることはありえない。ポイントが負の数になることはありえない。金額は日本円のみを考慮し、外貨は存在しない。ポイントは文脈によって呼び名が変わるが、単位は変わらない。支払い金額合計以上にポイント利用数が設定されることはない。金額に小数点は存在しない。ポイント

                    Value Object (値オブジェクト) でリファクタリングしたら結構良かった
                  • BirthdayというValueObjectはありなのか?杉本氏(@sugimoto_kei)の考えのまとめ

                    たなかこういち @Tanaka9230 BirthdayにasLocalDateとcalcAgeというメソッドを生やすか、getDateとgetAgeというメソッドを生やすか、インターフェースなら、後者の方が本来"正しい"のでしょう。 twitter.com/sugimoto_kei/s… 2019-09-06 22:38:14 杉本啓 @sugimoto_kei 「fisrtNameとlastNameはインスタンス変数として保持されているが、fullNameは保持されていない」という知識を隠すのが情報隠蔽であって、前者と後者を区別したら隠蔽にならないじゃないか。 2019-09-06 21:45:06

                      BirthdayというValueObjectはありなのか?杉本氏(@sugimoto_kei)の考えのまとめ
                    • neue cc - UnitGenerator - C# 9.0 SourceGeneratorによるValueObjectパターンの自動実装とSourceGenerator実装Tips

                      ValueObjectは好きですか?私は大嫌いです。いじょ。 ざっくり言えばプリミティブ型に専用の型を付ける教義です。例えばUserIdをintとして扱っているとTeamIdと取り違えるかもしれないし、Hpに突っ込んでしまうかもしれない。StrengthとIntelligenceとAgilityとSpeedは別物なのだから全部intじゃなくて区別して欲しい、そうじゃないと間違った演算しちゃうぞ、と。まぁそういう自体を避けるために、それぞれラップした個別型を作るのです。int strengthじゃなくてStrength strengthだぞ、と。 これは一見正しく実際正しいのですが、問題もあります。一つに面倒くさい。ラップしたctorを作るのだけでも定形でウザ、と思いますが、更に等値とか実装するのは面倒くさい。また、そのままだと計算できなくなるので、算術演算のために生の値を.Valueで取り

                      • 続、BirthdayというValueObjectはありなのか?

                        杉本啓 @sugimoto_kei @Tanaka9230 Ageという値クラスを設ける理由が(年齢計算以外に)存在するからAgeを作る。そのうえで Ageのファクトリーメソッドに年齢計算をやらせる。ということでしたら賛成です。年齢計算をやらせるためにAgeという値クラスを作る、のなら反対です。コードの字面(じづら)ではなく、目的適合性の話なんです。 2019-09-09 09:29:58

                          続、BirthdayというValueObjectはありなのか?
                        • DDD に入門するなら、まずは ValueObject だけでもいいんじゃない? - Qiita

                          今日は 『ドメイン駆動設計#1 Advent Calendar 2019』の 11日目 です。 昨日は mejileben さんの 『Laravelでドメイン駆動設計を実践し、Eloquent Model依存の設計から脱却する』 でした。 みなさん初めまして、こんばんは! C# をこよなく愛する静岡エンジニアの t2-kob です。 本日のテーマは、 「DDD に入門するなら、まずは ValueObject だけでもいいんじゃない?」 です。 ■ なぜこの記事を書いたか? ・理由の1つ目は、勉強のためアウトプットしたいと思ったからです。 最近 DDD コミュニティの DDD-Comunity-jp(Discord) に参加して、色々なオンライン勉強会に参加させて頂いています。 この勉強会へは色々下調べして臨んでいますが、その後の振り返りが出来ていませんでした。 このため、勉強を兼ねてアウト

                            DDD に入門するなら、まずは ValueObject だけでもいいんじゃない? - Qiita
                          • ワイと学ぶ、値オブジェクト - Qiita

                            業務中ワイ ワイ「こないだ見た」 ワイ「ドメイン駆動設計 ボトムアップでわかる! ドメイン駆動設計の基本」 ワイ「っていう本おもろかったな~」 ワイ「ワイもドメイン駆動設計やってみたいわ~」 ワイ「まずは、なんか簡単な案件で値オブジェクトとか導入してみたいもんやな~」 そんなとき社長に呼ばれて 社長「おーい、やめ太郎くん」 ワイ「なんでっか?」 社長「新しいお仕事持ってきたで」 社長「以前、うちで作ったECサイトのリファクタリング案件や」 社長「なんでも、注文クラスの注文数を値オブジェクトにしたいちゅうことらしいわ」 ハスケル子「(!??)」 ワイ「おっ、ほんまでっか!!」 ワイ「ワイに任しておいて下さいやで」 ちょうど良い案件が舞い込んできた ワイ「いや〜」 ワイ「値オブジェクトの練習にお誂え向きな」 ワイ「シンプルな案件が舞い込んでくるもんやな〜」 ハスケル子「(ちょっと案件の設定が雑

                              ワイと学ぶ、値オブジェクト - Qiita
                            • Value Objects - DDD w/ TypeScript | Khalil Stemmler

                              Value Objects are one of the primary components of Domain-Driven Design. Here's a simple Value Object class in TypeScript. We cover this topic in The Software Essentialist online course. Check it out if you liked this post. Also from the Domain-Driven Design with TypeScript article series. In Domain-Driven Design, Value Objects are one of two primitive concepts that help us to create rich and enca

                                Value Objects - DDD w/ TypeScript | Khalil Stemmler
                              • 【DDD】C# EntityFramework CoreでValueObjectをマップする方法

                                ドメイン駆動設計(DDD)のValueObject(値オブジェクト)をEntityFramework Core(EFCore)で自動的にマッピングする方法を紹介します。 EFCore2.0以降では、所有エンティティ型としてValueObjectを永続化する機能が提供されています。 マッピングだけではなく、ValueObjectとして定義したEntityからマイグレーションを生成することも可能です。 EntityとValueObjectを定義する 注文Orderと配送先住所Addressの場合の各クラスを以下のように定義します。 配送先住所に含まれる郵便番号、都道府県、住所等をValueObjectとして定義しています。 クラス図 Order (Entity) using System; using System.Collections.Generic; using System.Linq;

                                  【DDD】C# EntityFramework CoreでValueObjectをマップする方法
                                1