little hands' lab

ドメイン駆動設計、アジャイルプラクティスを実践し、解説しています。

「実践ドメイン駆動設計」から学ぶDDDの実装入門 レビュー

「実践ドメイン駆動設計」から学ぶDDDの実装入門 DDD関連の新刊が出たのでレビューします。 「実践ドメイン駆動」(以下IDDD)という書籍を元に、それを読み解くための書籍、という位置付けの珍しい書籍です。確かにIDDD本は分厚くて難解ですからね。 CodeZine…

ドメイン知識とユースケースの違いは何か?[ドメイン駆動設計][DDD]

DDDの文脈の中で、 「ドメイン知識とユースケース(≒アプリケーションの知識)は何が違うのか?」 という疑問がよく持たれます。 この記事ではその違いを説明し、DDDのコードにどう反映するかを書きます。 あるToDoアプリの仕様 事例として、ToDoアプリの話を…

現場でDDD!のハンズオン、持ち帰ってやってみた

genbade-ddd.connpass.com こちらのイベントに参加してきました。 タイトルに「レガシーをぶっつぶせ」とあった効果か、基本レガシーに立ち向かった実体験ベースの具体的な、泥臭い話が多くて非常に楽しかったです。 DDD周りって結構抽象的な話に終始してし…

【コード問題集1】責務違反のRepository

今日の記事では、 「こんなコードを書くとあとでびっくりするからやめた方がいいよ!」 という事例をご紹介します。 問題のあるコード 以下のようなタスクEntityがあったとします。 コンストラクタで生成時のルールを,doneメソッドで状態遷移のルールを表現…

Hunter Industriesの方のモブプロ体験会で教わった、本場のモブプロプラクティス

Mob Programming体験会 with Chris Lucianというイベントに参加してきました。 Chrisさんは最近のモブプロブームの発端となっている(という認識)Hunter Industries社の方で、Regional Scrum Gathering Tokyo 2019の基調講演に登壇された方です。モブプロを実…

非エンジニアの方に「DDDって何なの?」と聞かれたときの説明[ドメイン駆動設計]

この記事はドメイン駆動設計 #2 Advent Calendar 2018の16日目の記事です。 DDD(ドメイン駆動設計)とは何なのか そもそもDDDってなんなの?ということをちょくちょく聞かれます。 一言で言うと、「開発手法の一種です」ですが、それだと「ふ〜ん」で終わって…

新卒にも伝わるドメイン駆動設計のアーキテクチャ説明(オニオンアーキテクチャ)[DDD]

ドメイン駆動設計で実装を始めるのに一番とっつきやすいアーキテクチャは何か ドメイン駆動 + オニオンアーキテクチャ概略 以前こちらの記事でアプリケーションアーキテクチャについて書きました。 こちらの記事では比較的ネタ元に忠実な解説をしたのですが…

ドメイン駆動設計は何を解決しようとしているのか

ドメイン駆動設計の定義についてEric Evansはなんと言っているのか の記事の中で、EricEvansのドメイン駆動の定義を引用して以下のように和訳しました。 ドメインの中核となる複雑さと機会に焦点を当てる ドメイン専門家とソフトウェア専門家のコラボレーシ…

企画を立ち上げ、続けていくため大切な1つのこと

個人の性分として、課題感を感じたものに対して企画立ち上げしたりすることが人より多いです。その中で、成果が出て継続していけているものもあれば、軌道に乗らずに終わってしまうものあります。この違いはなんでしょうか? 最近思うことは 「一人で始めな…

DDDセミナーを初開催しました

コードで理解するDDDの戦略的設計・戦術的設計のつながり - connpassというタイトルで、初めてのDDDセミナーを開催しました! アジェンダとしては以下のようななもので、まさかの30分延長して4時間半という長丁場。聞いていただいた方もすごいです。笑 余っ…