2024年7月20日に発売された『ドメイン駆動設計をはじめよう』の概要説明と、ソフトウェア開発現場での活用方法。 ①何が書いてあるか? ②事業活動の分析(1章)⇒設計判断 5章、6章、7章、8章、10章 ③業務知識の発見(2章) ④事業活動の複雑さに立ち向かう(3章) ⑤区切られた文脈どう…
![ドメイン駆動設計の実践](https://cdn-ak-scissors.b.st-hatena.com/image/square/a415aa19e9fa7bb0eeafa497ffdd7684568e6ef1/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Fcefec43d8e064b8bac0942636f263afd%2Fslide_0.jpg%3F31106433)
ドメイン駆動設計は原典となる「エリック・エヴァンスのドメイン駆動設計」の初版が2003年と歴史があり、モダンなフレームワークであればその思想を取り入れた設計がなされているにも関わらず、日本語の情報が少ない気がする。 最近ドメイン駆動設計をやろうと主にWeb上の情報を探っていたので参考になったサイトをリンク集の形でまとめてみる。 概要 概要を把握するのが一番難しいように思うので、色々と目を通すのがよさそう。 little-hands.hatenablog.com enterprisegeeks.hatenablog.com enterprisegeeks.hatenablog.com speakerdeck.com ドメイン駆動設計とは何か 【入門編】 from 増田 亨 www.slideshare.net 3週連続DDDその1 ドメイン駆動設計の基本を理解する from 増田 亨 www
この記事について こちらの記事はクリーンアーキテクチャの Java 実装による解説記事です。 MVC フレームワークに組み込むために一部変更している部分もあります。 それをふまえてご覧ください。 講演内容が @IT さまに記事にしていただけました。 あわせてご参照ください。 https://www.atmarkit.co.jp/ait/articles/1907/08/news002.html クリーンアーキテクチャよりも軽量で無理なく導入しやすいアプリケーションアーキテクチャパターンを考案しました。 https://nrslib.com/adop/ スライド JJUG CCC 2019 Spring での発表資料です。 この発表をするにあたって記事を書くことにしました。 YouTube YouTube でこちらの解説を行いました。 その他解説もしています。もしよろしければチャンネル登録を
ドメイン駆動設計本格入門に参加してきました。 devlove.doorkeeper.jp 講師は増田亨(@masuda220)さんでした。 概要説明ではなく、開発現場にドメイン駆動設計を導入し、その効果を最大化するための勘所を実コードを使いながら解説します。 とあるように、抽象の話ではなく具体を学ぶことができる講習でした。 以下、講習の中からとくにドメイン駆動設計にフォーカスして内容をまとめていきます。 ドメイン駆動設計本格入門 from 増田 亨 www.slideshare.net ドメイン駆動設計でなぜつくるのか 3つのキーワード ビジネスルール モデル ビジネスルールのモデリング 値オブジェクト 契約による設計 ロジックを持ったenum コレクションのカプセル化 エヴァンス本のススメ パターンについて 責務のレイヤー マイクロサービス アプリケーション層の複雑さ VETRO Sag
「2017/9/9 Scala関西Summit 2017」、「2017/10/21 関ジャバ'17 10月度」 、「2018/3/18 Scala Matsuri 2018」でお話した、実践ScalaでDDD の発表資料です。 (English version -> https://speakerdeck.com/crossroad0201/practice-ddd-with-scala-en ) サンプルコードもあわせて参照してください。 https://github.com/crossroad0201/ddd-on-scala 目次 1.DDDとは - DDD - DDDのコンポーネント 2.ScalaとDDD 3.Scala実装スタイル 4.アーキテクチャ - レイヤ構成 - エラー処理 5.コンポーネントの実装 - アプリケーションサービス - エンティティ - バリューオブジェク
DDD Alliance!主催の「現場で役立つシステム設計の原則 Night!」での書評LTスライドです。
13. type User struct { Attack int //攻撃力 } func main() { u := User{ Attack: 100, } //攻撃力は int の Attack に乱数を加算したものになる rand.Seed(time.Now().UnixNano()) u.Attack = u.Attack + rand.Intn(10) fmt.Println(u.Attack) } 14. type User struct { Attack int //攻撃力 } func main() { u := User{ Attack: 100, } //攻撃力は int の Attack に乱数を加算したものになる rand.Seed(time.Now().UnixNano()) u.Attack = u.Attack + rand.Intn(10) fmt.Pr
日本のDDD(ドメイン駆動設計)界の父ともいえる増田亨さんが著した「現場で役立つシステム設計の原則」を頂いたので、早速拝読させていただきました。 本書をおすすめしたい人 本書は、システム開発で以下のような問題を抱えている人におすすめです。 既存システムのソースコードの可読性が低く、理解に時間がかかる 機能追加・改修時の影響範囲調査に時間がかかる 機能追加・改修時の工数が予想以上にかかる テストコードが書きにくいソースコードになりがち 機能を追加・改修時の影響範囲が大きくなりがちで、テスト工数がかさんでいる デグレの確認に気を使い、多くの時間をかけている 不具合が発生したときに、調査・解決に時間がかかってしまう 新しいメンバーがプロジェクトに参画した時に、業務知識を伝えるのに多くの手間がかかる これらの問題のために、生み出す価値以上に、仕事時間が増えている このような問題を解消し、変更に強い
コードで学ぶドメイン駆動設計入門 〜エンティティとバリューオブジェクト編〜 - じゅんいち☆かとうの技術日誌 コードで学ぶドメイン駆動設計入門 〜振る舞いとサービス編〜 - じゅんいち☆かとうの技術日誌 コードで学ぶドメイン駆動設計入門 〜ファクトリ編〜 - じゅんいち☆かとうの技術日誌 引き続き連投エントリ。私も来年で39歳になります。そして息子が7歳。いいおやじですが、脳は衰えないと言われています。鍛えれば鍛えたほど進化できると信じます。 ということで、リポジトリ編に入ります。 リポジトリ リポジトリは、ライフサイクルの途中から最後にフォーカスし、オブジェクトの永続化と永続化されたそのオブジェクトを検索する手段を提供するオブジェクトです。このように説明すると、DAOに近い印象を持つかもしれませんが、DAOはRDBMSやSQLなどのインフラストラクチャ層の関心事を含んでいるので、ここでは
正しいものを正しくつくる プロダクトづくりの不確実性と戦うためのソフトウェア設計 - 創発的な設計活動 - 柔軟なモジュール構造 - 20%に投資する
この記事は 2016年 第2のドワンゴアドベントカレンダー、20日目の記事です。 qiita.com ドメイン駆動設計に関して悩める若者に送るポエムを書いていたら長くなりました。 20日目なはずなのに今日は 12/25 ですが、お察しください。 TL;DR ドメイン駆動設計には3つの顏がある それは「哲学」「戦略」「戦術」である 「戦術」にスポットがあたりがちだが、まず「哲学」とコアの「戦略」から理解する プロダクトにおけるドメインモデルの全体像を描いてから「戦術」を検討しよう ドメイン駆動設計をどの程度取り入れるかの 「ドメイン駆動設計の適用レベル」について はじめに ドメイン駆動設計(DDD)、以前と比較して認知が上がってきたのか、よく「DDD やってるんですか?」 「DDD ってどうはじめればいいんですか?」と聞かれることがあります。そしてこの時にまず話に上がるのが、エンティティ、集
このスライドについて このスライドは、 JJUG CCC 2016 Fall でお話ししたときに使用したスライドです。 自己紹介 opengl-8080 主に Qiita で技術メモを書いたり 関西の SIer 勤務 今日話すこと JPA と DDD の関係について思っていること JPA で DDD のパターンを実装するとどうなるか JPAとDDDの関係で思っていること 最初は、 JPA に対してあまり良いイメージはなかった DDD を学ぶにつれて、徐々にイメージが変わっていった なぜ変わっていったのか、どう変わっていったのか JPAでDDDのパターンを実装 エンティティ・値オブジェクトなどを JPA で実装する 仕様上の限界、実装ごとの現実 JPAとDDDの関係で思っていること JPA へのイメージの変化 DB アクセスライブラリ1との出会い DB アクセスってこうやるのかぁ JPA と
スタートアップ企業が実践する「身の丈スクラム」の現在地 / Current State of 'Right-Sized Scrum' Practices in Startups
Transaction Scriptの方が早いし、分けたりしなくていいのでシンプル。 DDDは関心を分離するのが大変。だけど、分けることができたら、ビジネスの関心事がくっきり浮き上がってくる感じがする。でも、それを理解するのも維持するのもチーム内で共通の認識を持ってないとすぐに、左の方みたいになりそう。 そういう印象。 IDDDの人が新しく入門用?みたいなのを出さはったので読もうとしてるところ。 www.safaribooksonline.com 今週もがんばろー
ddd-zk.connpass.com DDD座談会のパネラーとして登壇させていただきました。 素振り 予め参加者の方々からいただいた質問(テーマ)に対して、予行練習というか、ちょっと自分の考えを先にまとめていたのですが、予想通りテーマひとつひとつが盛り上がったので全部を話しきることができませんでした。 折角なのでここに公開しておきます。 ところどころ、座談会終わっての後書きも追記しています。 なお、あくまで私見ということでよろしくお願いします。座談会のまとめ記事というわけではありませんので、悪しからず。 各人のコンテキストで、こんな解釈あるよ等あると思いますので、Twitterでもコメントでもフィードバックいただければ幸いです。 DDD全般について DDDに向いている要件とは?費用対効果ってどうなの? 継続的に投資したいプロダクトであることが大事だと思っています。 システムは一度作れば費
Java/Spring Boot/MyBatis/Thymeleafを使った、ドメイン駆動設計のサンプルコード。ビジネスルールに焦点を合わせ、計算モデルで複雑さを整理し、型指向のプログラミングで実装する、その具体例。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く