ドメイン駆動設計の4つの基本活動、Springのプログラミングモデル、ドメイン駆動設計のためのSpringの使い方

ドメイン駆動設計の4つの基本活動、Springのプログラミングモデル、ドメイン駆動設計のためのSpringの使い方
より詳細なCQRSに関する資料はこちら https://little-hands.hatenablog.com/entry/2019/12/02/cqrs 参考資料:http://little-hands.hatenablog.com/entry/jjug2017fall 社内新規プロダクトでDDD, CQRSの思想をベースとしたアーキテクチャを構築し、コマンド(更新系処理)ではSpring Data JPA(Hibernate)を、クエリ(参照系処理)ではjOOQを採用しました。 結果としてそれぞれのORMの良いところを生かした組み合わせのアーキテクチャが構築できたので、その経緯と得られた知見についてお話ししたいと思います。 以下のようなトピックを考えています。 ・CQRSの定義とメリットデメリット ・DDD,CQRSを検討するにあたってのORMの選定ポイント ・構築したアーキテクチャ
コップ本といい、DDD本といい、最近鈍器系の本づいてます。仕事のピークが重なっていたので、会社の行き帰りの電車の中か昼休みにしか読む時間が取れず、読み切るまでに非常に時間がかかってしまいました(3ヶ月以上かな?)。 副題にある通り、開発者がユーザとともに複雑さに対峙するための方法を(問題を切り分けよう、とかそういうお題目レベルではなく)実際の設計プロセスやパターンにまで落とし込んでいて、実践的であり具体的です。パターンそのもの以外にも、著者の経験に基づく設計現場のサンプル(開発者とユーザの対話とそれに伴うモデルの変化)が豊富で、パターンだけだとわかりづらくなる箇所を捕捉してくれています*1。しかも、理論ばかりの設計方式ではなく、ちゃんと実装とビジネスをモデルでつなぐための方法であるというのもすばらしいです。ってか、技術を知らずに設計ができると思っているご用聞きSEさんは遠慮なく死んで下さい
QCon Tokyo 2011に参加しました。 Keynoteを発表してくださったDDD InventorのEric Evansさんはとてもゆったりした話し方をされる方でした。DDDの一部分を語られていましたが、一つ一つの詳細を聞いてみたくなります。 Evansさんの発表で気になったのが「Model Exploration Whirlpool」と「Bounded Context」というキーワード。DDD本をまだ読んではいないのですが、「Model Exploration Whirlpool」についてはWebに資料(PDF)あったので少し読んでみました。(以下、適当訳) Code Probe(コードを綿密に調べる) ・テストとしてのコードシナリオ ・厳密さの追加 ・言語を洗練する ・解決方法を探求する ・ミスを生み出す Challenge Model ・新しいシナリオをもって挑む Scena
より詳細なCQRSに関する資料はこちら https://little-hands.hatenablog.com/entry/2019/12/02/cqrs 参考資料:http://little-hands.hatenablog.com/entry/jjug2017fall 社内新規プロダクトでDDD, CQRSの思想をベースとしたアーキテクチャを構築し、コマンド(更新系処理)ではSpring Data JPA(Hibernate)を、クエリ(参照系処理)ではjOOQを採用しました。 結果としてそれぞれのORMの良いところを生かした組み合わせのアーキテクチャが構築できたので、その経緯と得られた知見についてお話ししたいと思います。 以下のようなトピックを考えています。 ・CQRSの定義とメリットデメリット ・DDD,CQRSを検討するにあたってのORMの選定ポイント ・構築したアーキテクチャ
こんにちは、id:hakobe932 です。 はてなでは有志が不定期の放課後勉強会を開催しています。今回は、ソウトウェア設計に興味のあるエンジニアがあつまって開催したドメイン駆動設計( = DDD)についての勉強会について紹介します。 実践ドメイン駆動設計を輪読 議論を中心にした形式 勉強会の成果 既存のソフトウェアの設計の整理と理解 ソフトウェア設計技術の習得 新しいプロジェクトの設計への活用 まとめ YAPCでも聞けます 最高に品質の良いソフトウェアをつくりたい! 実践ドメイン駆動設計を輪読 今年の3月に発売された、実践ドメイン駆動設計を輪読する形式で勉強会を行いました。 実践ドメイン駆動設計 (Object Oriented Selection) 作者: ヴァーン・ヴァーノン,高木正弘出版社/メーカー: 翔泳社発売日: 2015/03/17メディア: 大型本この商品を含むブログ (2
Android開発していると、なんかMVCうまくいかないなぁとモヤモヤしてきました。そろそろ他のアーキテクチャを模索してみた方がいいんじゃないかと思い始めまして、ある程度考えがまとまったので自分なりの指針を残しておこうと思います。 そもそもアーキテクチャ必要なのか 世の中には色々なアーキテクチャが存在するんですが、なんか概念を読んでもスッと理解できることが少ないんですよね。これはなぜかと言うと アーキテクチャが解決しようとしている問題を理解できないからです。 極端に言うと、HelloWorldを表示するアプリにMVCを導入する必要があるの?って言うと答えはNoですよね。じゃあ猫の名前をリストで表示するアプリだったらどうかと言われると、これもまだ必要ないかもしれません。 つまり、アーキテクチャを適用しなくても問題がないほど小さなアプリにおいては、ただ冗長になるだけなので別にいらないわけです。
エリック・エヴァンスのドメイン駆動設計 ソフトウェアの核心にある複雑さに立ち向かう(Eric Evans 牧野祐子 和智右桂 今関剛) | 翔泳社の本 去年の秋ぐらいから設計に悩む事があり、エリック・エヴァンスのドメイン駆動設計、いわゆるDDD本を買ってました。 なかなか通しで読む時間が取れず、気になる所をつまんで読んでたので、ちゃんと理解出来てないなと思っていた所、読書会をすると言う知り合いが居たので混ぜてもらいました。 折角なので記憶に新しいうちにメモして置こうと思って書いてるけど、理解がふんわりしてるまま、もしくは勘違いしたまま書いてる可能性もあります。 あと、議事録ではないので、あくまで読書会で話した結果、自分が思った事を書いています。 なんか書いてたらすごく長くなっちゃったけど、次回以降もこんなに書けるか分かりません。 今回読んだ範囲 まえがき 第1章 知識をかみ砕く 第2章
ドメインロジックに焦点をあてる。 それが、ドメイン駆動設計の基本。 ドメイン駆動設計の考え方とやり方の説明と、実践基盤としての Spring Framework/Spring Boot を使った事例の紹介。
井上です。 現在、ドメイン駆動設計(Domain Driven Desing . 以下 DDD)を用いて開発を行っています。 DDDの参考書籍といえば、もちろん「エリック・エヴァンスのドメイン駆動設計 ソフトウェアの核心にある複雑さに立ち向かう」(以下 DDD本)ですが、その著者であるエリック・エヴァンスが最近(2014/9/22)「Domain-Driven Design Reference: Definitions and Pattern Summaries」という新しい本(以下 DDDリファレンス本)を出していることに気がつきました。 DDDリファレンス本とは 早速DDDリファレンス本を取り寄せてみました。88ページと非常にコンパクトな本になっています。 内容的には、以下で公開されているPDFに新しい図や写真を追加してペーパーバックとして出版したもののようです。 DDD REFERE
社内LTでソフトウェア設計のすゝめを比較的新しいエンジニア向けにしたので、その資料を公開します。Read less
今さらなのだけれども、「エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)」を読んだ。仕事で活用できるかと問われると微妙だけれども読んで良かった。避けていたのはいろいろな誤解があった。複雑なソフトウェアを作る為の考え方。 エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践) 作者:エリック・エヴァンス発売日: 2011/04/09メディア: 大型本 Eric EvansがDDDのアイデアを著書のドラフトというかたちでWeb上で公開し始めた2002年以来、この知恵の書は多くの識者の間で話題の中心となり、「徹頭徹尾有用な書籍(most thoroughly useful book)」とまで評された。記述されている内容の一言一句すべてにおいて役に立つことしか書かれていない、と賞賛
先日の大阪DDD勉強会に刺激を受けて、「ユースケース駆動開発実践ガイド」と「オブジェクト開発の神髄」と「アジャイルソフトウェア開発の奥義」「実践UML」を読み直している。 ラフなメモ書き。 【元ネタ】 【限定募集:第1回の申込者のみ、参加登録可能】第2回ドメイン駆動設計読書会@大阪 - ドメイン駆動設計読書会@大阪 | Doorkeeper vol2_20140309 · dddosaka/reading_ddd_report Wiki 【1】個人的には、オブジェクト指向設計という考え方は好き。 データモデリングはDB設計でも業務の設計でも必須だが、データだけではシステムは動かない。プログラムも作る必要があるけれど、DOAにこだわると、なぜかソースの自動生成に走ってしまうように思える。 オブジェクト指向設計は、アジャイル開発と相性がよい。 また、開発チームの構造解析にもオブジェクト指向設計
"Beautiful Develpment"(10/27 DevLOVE)の講演資料と原稿 はじめに 本日(10/27)、DevLOVE様主催で、"Beautiful Develoment"と題されたイベントが開催されました。これは「ドメイン駆動設計("DDD:Domain-Driven Design")」を題材に、入門から実践までを語り尽くすというコンセプトのものです。このイベントにおける講演のトップバッターとして、ドメイン駆動設計の根底にある基本的な考え方についてお話しさせて頂きましたので、講演資料と原稿を公開いたします*1。 スライドはこちら アジェンダは以下の通りです。 導入 オブジェクトとは? モデルとは? ドメイン駆動設計とは? まずは、ドメイン駆動設計のベースとなっている、「オブジェクト指向」や「モデル」について整理した上で、実際にドメイン駆動設計とはどういうものかを見ていき
ドメイン駆動設計の実践に向けて、DDD本では明示的に語られていない視点からドメイン駆動設計をとらえ直す。 導入 ドメイン駆動設計入門では、かなり抽象的なレベルでDDD本の根底にある思想を概観しました。一言で要約すれば「ドメインエキスパートの頭の中にあるドメインをとらえるモデルを共有し、オブジェクト指向のパラダイムを用いて、それをソフトウェアの実装に落とし込む」という構想であると言えるでしょう。これを踏まえて今回は、実践のためには何が必要なのか、という問題意識からドメイン駆動設計をとらえ直してみたいと思います。 今回のポイントはプロセスです。DDD本ではほのめかされているにすぎない「モデリングのために行われているもの」に焦点を合わせて、設計とプロセスをどのように融合させていけばよいのかを考えていきたいと思います。ここでの目的はDDD本を批判することではなく、語られない点からとらえ直すことで、
DDDのモデル駆動設計では、在庫管理、注文管理といったドメインから生じる問題を解決するのに特化した部分に焦点を当てます。そして、ドメインの問題を他の問題から明確に切り離すことを設計上の至上命令としています。 これは夜空に星座を見つけ出そうとするようなものだ。ドメインオブジェクトはシステムの他の機能から切り離す必要がある。そうすることで、ドメインの概念を、ソフトウェアの技術にしか関係しない概念と混同したり、システム全体の中に紛れ込んでドメインを見失ってしまったりすることを避けられるようになる。 夜空に星座を見つけ出すというのも印象的な表現ですが、プラネタリウムで一見バラバラに並んでいる星の中からサソリや白鳥の形が線や星座絵によって浮き上がってくるように、ドメインモデルを探し出してはっきりとチーム全体でイメージを共有できるようにするということが重要だと思います。この章ではそのための前提となるレ
♪今年のブクマ、今年のう・ち・に! ← 書いてるうちに年こしちゃったね というわけで、もうひとつの ”長くてほったらかしだったやつ” を読む。 ドメイン駆動設計入門 - Digital Romanticism 正直これまでドメイン駆動設計って「言葉を知っている」という程度のものだったのですが、 この和智さんのブログを読んで、もうちょっとは先に進むことができた感じがしました。 以下に、私が今回理解できた部分を抽出して、少しでもコンパクトにすべく、ショートバージョンとして抜粋してみます。 ■オブジェクトとは? 大げさな表現をすれば、「僕らは言葉によって世界を切り分け、そこに名前を与え、意味に囲まれて生きている」ということですね。あるモノに意味を見出し、他のモノと切り分け、そこに名前を与えることで自分たちの世界を構築しているのが人間だ、ということです。オブジェクト指向において、オブジェ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く