タグ

DDDに関するmakky55makky55のブックマーク (18)

  • 『ドメイン駆動設計をはじめよう ―ソフトウェアの実装と事業戦略を結びつける実践技法』が出版されます - Magnolia Tech

    ドメイン駆動設計をはじめよう ―ソフトウェアの実装と事業戦略を結びつける実践技法 作者:Vlad KhononovオライリージャパンAmazon 2021年にO'Reilly Media, Inc.から出版された「Learning Domain-Driven Design」の待望の日語訳『ドメイン駆動設計をはじめよう ―ソフトウェアの実装と事業戦略を結びつける実践技法』がついに出版されます。 www.oreilly.com 訳者は、増田 亨さん!! 2020年代に、ドメイン駆動設計を学ぶための最初の入り口としてどのを読めば良いかは、かなり悩ましい...というのはよく言われるのですが(元祖のエバンスはさすがにだいぶ古くなってきたし、回りくどい表現も多いし...)、そんな時におすすめできる1冊です。 2021年に原著が出版された時に買ってざっと読んでいたのですが、パート1で戦略的DDD(

    『ドメイン駆動設計をはじめよう ―ソフトウェアの実装と事業戦略を結びつける実践技法』が出版されます - Magnolia Tech
  • 素のRailsは十分に豊かである(翻訳)|TechRacho by BPS株式会社

    はじめに 「Railsは関心の分離が不十分である」という批判をよく目にします。状況が深刻になったら、Railsに足りない別のピースを導入しなければならないというのです。しかし私たちはそうは思いません。 「素のRails(vanilla Rails1)ではここまでしかできない」みたいな批判を耳にすることがよくあります。Railsはアーキテクチャレベルで関心の分離が不十分なのだから、アプリはいずれメンテナンス不能になり、足りないピースを導入するという別のアプローチが必要になるというのです。 代表的なDDD(ドメイン駆動開発)書籍では、概念上の4つの層である「プレゼンテーション層」「アプリケーション層」「ドメイン層」「インフラストラクチャ層」について議論しています。 アプリケーション層は、ドメイン層と協調動作してビジネスタスクを実装します。しかし、Railsが提供しているのは「コントローラ」と「

    素のRailsは十分に豊かである(翻訳)|TechRacho by BPS株式会社
  • 「IDDD本から理解するドメイン駆動設計」輪読会まとめ - Qiita

    株式会社ミライトデザインでは毎週、社内の技術力アップのために社内勉強会を行っています。 業務に関連することであればジャンルは様々ですが、今回はCodeZineさんの「IDDDから理解するドメイン駆動設計」の輪読会を行いました。 IDDDから理解するドメイン駆動設計連載一覧:CodeZine(コードジン) こちらの記事を読むには会員登録が必要ですが、メールアドレスを登録するだけで無料で読むことができました。 「IDDDから理解するドメイン駆動設計」は書籍「実践ドメイン駆動設計」の内容を要約してくれているものになります。 実践ドメイン駆動設計 (Object Oriented SELECTION) | ヴォーン・ヴァーノン, 髙木 正弘 | | 通販 | Amazon 稿は輪読会を行って出てきた疑問点や、気になったところなどを議事録にまとめたものになります。 議事録では「IDDD

    「IDDD本から理解するドメイン駆動設計」輪読会まとめ - Qiita
  • DDDにおける値オブジェクトの位置付け(モデルとコード事例あり)[ドメイン駆動設計] - little hands' lab

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

    DDDにおける値オブジェクトの位置付け(モデルとコード事例あり)[ドメイン駆動設計] - little hands' lab
    makky55makky55
    makky55makky55 2022/08/15
    「ドメイン駆動設計 モデリング/実装ガイド 」の著者の方
  • DDDの正体は実装パターンとモデリングの組み合わせ - パンダのプログラミングブログ

    PoEAA を通して DDD の半分を理解する マーティン・ファウラーの PoEAA を読んでから、DDD のことを考え続けている。今まで DDD の話題はあえて避けてきた。分厚く難解な書籍、増えるコード量、教祖とその信徒たち(MV)、全てをその視点から解釈しようとする試み、少しでも間違えたら求められる自己批判、無知な者に対する SNS 上のオルグ、いつまでも出てこない総括、それでも信じるものは救われる。「一匹の亡霊がIT界隈を徘徊してる。DDDという亡霊が...」 まあ早まらないでほしい。何も DDD こき下ろそうというわけではない。自分の実力不足が主な原因と思い、深入りする前から「わからないもの」と決めつけていた DDD は、PoEAA というライトに照らされてその姿を私の前に姿を表し始めた。それは亡霊ではなく、確固たる手触りのある実体(Entity)だったのである。 PoEAA は

    DDDの正体は実装パターンとモデリングの組み合わせ - パンダのプログラミングブログ
  • DDDで開発する際におさえておきたい4つの基本事項

    DDDで開発しようと思って、入門書を勉強して理解した気になっても、いざコードを書こうとすると、なかなか実装のイメージがつかなくて手が止まる、といったケースはあるかと思います。少なくとも、私はそうでした。 この記事では、一旦、DDDのモデリングの部分は置いておいて、コードを実装する上で知っておいた方が良さそうなことをいくつかピックアップして紹介していきたいと思います。いずれも基的な内容のため、DDDを習得している方にはあまり新しい発見はないかもしれません。 なお、例として用いる言語はTypeScriptです。 DDDで実装してみてなにが良かったか 題に入る前に、まずはDDDで実装するモチベーションを上げていただくために、実際にDDDで実装してみてよかった点をいくつかあげます。 ロジックを書く場所に悩まない・チームで統一できる 例えばMVCなど、ドメイン層を用意しないアーキテクチャで実装し

    DDDで開発する際におさえておきたい4つの基本事項
  • 「RubyでDDDやるならHanami」という噂の真相

    こんにちは。株式会社InnoScouter CTOの大西(Twitter: @monarisa_masa)です。 InnoScouterでは、Ruby製WebフレームワークであるHanamiを採用しており、DDDを用いて開発しています。 Hanamiについて言うと、私個人としては、前職も含めて4年ほど運用経験があります。 ここでは、Hanamiが出てくるとよく話題にされるRailsとの比較は取り扱いませんが、初めてHanamiについての記事を読まれる方にも分かるようなサンプルコードで説明したいと思います。 突然ですが、こちらが日のメイントピックです。 今回は、「RubyでDDDやるならHanami」と言われてますが、当にそうなの?ってところを掘り下げていきたいと思います。 ツイートが意味していることと、それに対する自分の考えを話していけたらと思います。 この記事の対象読者 Rubyを触

    「RubyでDDDやるならHanami」という噂の真相
  • 実践DDD本 第10章「集約」~トランザクション整合性を保つ境界~

    実践DDD 第9章「モジュール」~高凝集で疎結合にまとめる~ DDDにおける集約 DDDにおける集約(Aggregates)とは、オブジェクトのまとまりを表し、整合性を保ちながらデータを更新する単位となります。通常はオブジェクトの集まりの「境界線」の意味で使われ、オブジェクト群の生成/読み込み/変更/保存といったライフサイクル管理が行われます。 外部から集約を操作できる「集約ルート」 外部から集約を操作する場合、代表オブジェクトである「集約ルート(≒ルートエンティティ)」のみ参照することができます。集約ルートを操作することで集約全体の整合性を保ちながらデータを変更できます。 DDDの「集約」のイメージ 上図の例では、注文に関わるオブジェクト群が集約の「境界線」となっています。操作をしたい場合「注文」という「集約ルート」に変更依頼をすることができます。集約内部にある「注文明細」や「配送先住

    実践DDD本 第10章「集約」~トランザクション整合性を保つ境界~
  • DDDの腐敗防止層を用いた変更容易性向上 - READYFOR Tech Blog

    こんにちは、リファクタリング大好きなミノ駆動です。 リファクタリングを主任務とするアプリケーションアーキテクトとして、弊社READYFORのエンジニアリングを推進しています。 ドメイン駆動設計に登場する 腐敗防止層 を用いたリファクタリングで、システムの変更容易性を向上したお話を解説します。 記事の概要 イビツな構造を隔離する腐敗防止層を用いて技術的負債を解消 ふたつの橋作戦でリファクタリングの安全性を向上 設計技術書 『良いコード/悪いコードで学ぶ設計入門』 出版のお知らせ 背景 弊社READYFORのシステムは、モノリシックなRuby on Railsのサービスとして実装されています。 システムが解決したいドメイン(業務活動)にはさまざまなセグメントがあり、その中に審査オペレーションがあります。 審査オペレーションとは、クラウドファンディング実行者さんが申し込みを提出してからプロジェ

    DDDの腐敗防止層を用いた変更容易性向上 - READYFOR Tech Blog
  • ドメイン駆動設計 モデリング/実装ガイド - little-hands - BOOTH

    書は、初めてDDDを学ぶ方、もしくは実際に着手して「難しい!!」と感じているエンジニアの方を対象とした、ドメイン駆動設計(以下、DDD)についての解説書です。 近年、ソフトウェアのレガシー化が社会的に問題になっていると言われています。 DDDはレガシー化への対策として非常に有用なものですが、日語で出ている書籍「エリック・エヴァンスのドメイン駆動設計」や「実践ドメイン駆動設計」は非常に重厚かつ難解で、初学者が実用に到達するまでには長い時間と試行錯誤が必要なのが実情です。 そこで書では、迷子になりがちな「DDDの目的」や「モデル」の解説からはじめ、 具体的なモデリングを行い実装まで落とす事例を元に、DDDの魅力や効果を体感することを目指します。 また、その後にはレイヤーごとの個別のトピックについて、1章ずつ詳しく解説します。 ■書の構成 書は以下の構成になっています。 「第1章 DD

    ドメイン駆動設計 モデリング/実装ガイド - little-hands - BOOTH
  • 抽象的な教えを試行錯誤しながら解釈した DDD の実践レポート 大阪

    Mix Leap Study 特別編 - レガシーをぶっつぶせ。現場でDDD! コラボカンファレンスRead less

    抽象的な教えを試行錯誤しながら解釈した DDD の実践レポート 大阪
    makky55makky55
    makky55makky55 2019/09/03
    "君の Domain 層からは業務を感じない" 抽象的な教えを試行錯誤しながら解釈した DDD の実践レポート 大阪 MixLeapStudy 特別編 レガシーをぶっつぶせ。現場でDDD! コラボカンファレンス https://yahoo-osaka.connpass.com/event/138020/
  • モデルでドメイン知識を表現するとは何か[DDD] - little hands' lab

    DDD連載記事 なぜDDD初心者はググリ出してすぐに心がくじけてしまうのか ドメイン駆動設計の定義についてEric Evansはなんと言っているのか モデルでドメイン知識を表現するとは何か ドメイン駆動設計で実装を始めるのに一番とっつきやすいアーキテクチャは何か ドメイン駆動 + オニオンアーキテクチャ概略 概要 DDDの定義についてEric Evansはなんと言っているのか この記事でドメイン駆動開発の定義は以下のようなものであると書きました。 ドメインの中核となる複雑さと機会に焦点を当てる ドメイン専門家とソフトウェア専門家のコラボレーションでモデルを探求する 明示的にそれらのモデルを表現するソフトウェアを書く 境界付けられたコンテキストの中のユビキタス言語で話す では、ドメインの知識を言語化したモデルは、最終的にコードでどのように表現されるのでしょうか? 不変条件 まず、業務の制約に

    モデルでドメイン知識を表現するとは何か[DDD] - little hands' lab
  • Beyond event-driven with Axon Framework and Axon Server

    Balancing Open Source & Commercial OfferingsExploring the New Axon Server Plans with Starter and Pro.Learn more Microservices are powerful but come with challenges. One of these challenges is to get the design exactly right. We strongly believe in an evolutionary approach to microservices: start with a monolith and evolve this monolith into microservices when the need exceeds the additional burden

    makky55makky55
    makky55makky55 2017/01/11
    CQRS Framework For Java
  • Scala/Scrum/DDD 困ったこと50連発ガトリングトーク!!

    2017/7/27に開催されたセプテーニ・オリジナル / オプト / CyberZ合同イベント「Scala/Scrum/DDD 困ったこと50連発ガトリングトーク!!」の発表資料です。 イベントページ: http://scala-scrum-ddd-gatlingtalk.connpass.com/event/34172/

    Scala/Scrum/DDD 困ったこと50連発ガトリングトーク!!
  • 大型フロントエンド開発におけるTypeScriptとDDD // Speaker Deck

    All slide content and descriptions are owned by their creators.

    大型フロントエンド開発におけるTypeScriptとDDD // Speaker Deck
  • Shibu's Diary: SIerの未来は明るい?

    XP祭り2015に参加してきました。スタッフの方々お疲れ様でした。今回は、あまり外に情報が出てくることがないと思われる、社内SE業で成果を出すために実践してきたことを発表してきました。 前のブログのエントリーでも書きましたが、今回考えさせられたのが岩切さんの発表の「在庫切れのメカニズムの原因となる事象を把握していたのが、社内の情報部門の人間だけだった」ということです。また、その後の質疑でも、「金融系もそうだった」という話が出ました。ここで説明したいと思っていたのが「業務はどんどん狭く深くなる」ということですが、内容が膨れてきたので前のエントリーに分けました。 だいたいビジネス書とかで語られているような仕事効率の基原則は、同じ時間で成果を上げるためには、儲かる部分にフォーカスして儲からない部分は削るということです。時間あたりのビジネスの効率があがれば、忙しさを抑えてインカムも増えてハッピー

    makky55makky55
    makky55makky55 2015/09/18
    おもしろい記事だった。「SIerが外部脳として多くの企業の中枢に関わっていく可能性は信じたいと思います」
  • InfoQ: Domain Driven Design(ドメイン駆動設計) Quickly 日本語版

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

  • DDDがよく分かんないときに見てそこそこ分かった資料置き場 - DRYな備忘録

    ざっくり Dddをもっと身近に DDDとはこういうことなのか - Some Days You Get the Bear レイヤー化アーキテクチャ ドメイン駆動設計・アプリケーション構築編・レイヤ化アーキテクチャ - Strategic Choice DDDの読書記録(第4章、ドメインを隔離する) - 達人プログラマーを目指して メンタルモデル ドメイン駆動設計を実践するために - Digital Romanticism ドメイン駆動設計・開発の実践 (よく分かんない)

    DDDがよく分かんないときに見てそこそこ分かった資料置き場 - DRYな備忘録
  • 1