little hands' lab

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

人気&オススメ記事 / ブログ概要

当ブログについて 主にドメイン駆動設計(DDD)関連の情報を発信していきます。 Twitterアカウント @little_hand_s こちらでもDDD情報発信していくのでよろしければフォローお願いします。DDD周りでご質問などあれば気軽にリプライいただければお答えします^^ …

設計/コードレビューで"常に"心がけるポイント

株式会社ログラスの松岡(@little_hand_s)です。 little-hands.hatenablog.com ↑の記事でドメインオブジェクトの設計方針を書きましたが、それ以外の全般的な設計/レビュー観点について書きます。 非常に汎用性のある内容なので、数多くのプログラミング原則…

DDDにおけるドメイン層オブジェクト設計の基本方針[ドメイン駆動設計]

株式会社ログラスの松岡(@little_hand_s)です。 ドメイン層のオブジェクトを設計する際に、重要な基本方針があります。 ドメインモデルの知識を対応するオブジェクトに書く 常に正しいインスタンスしか存在させない この2つを守ると、非常に保守性の高いコー…

DDDのエンティティはイミュータブルな実装にしてもいいの?(サンプルコード有り)[ドメイン駆動設計 / DDD]

本記事はドメイン駆動設計(DDD) Advent Calendar 2021の13日目の記事です。 エンティティとイミュータブル性 オブジェクトをイミュータブル、つまり内部状態を変えない実装にすることで可読性やマルチスレッド対応性が向上することがあります。 エンテ…

オブジェクト詰め替えが面倒臭い?マルチカーソルを使えば10秒でできます

面倒臭いオブジェクト詰め替え オニオンアーキテクチャ、クリーンアーキテクチャなどの階層化されたアーキテクチャを使用する際、レイヤーの境界でオブジェクトの値を詰め替える必要性が発生します。 オブジェクトを詰め替えることでレイヤーの依存関係を断…

受付中のDDDの導入サポート[ドメイン駆動設計]

DDD関するトピックを中心にオンライン研修、チャットサポートをご要望ベースで実施しております。ご相談は @little_hand_sのDM、もしくはお問い合わせフォームまでお願いいたします。 DDD導入サポート ①ライブモデリング、ライブコーディング研修(zoom開催) …

DDDで複数集約間の整合性を確保する方法(サンプルコードあり)[ドメイン駆動設計]

株式会社ログラスの松岡です。 本記事では、DDDに関する疑問で頻出な、複数集約間の整合性を確保する方法について、具体的なコードを交えて紹介します。 実装方法は、主に以下の3つに分かれます。 ユースケースで複数集約に更新をかける ドメインサービスを…

ドメイン駆動設計を導入するために転職して最初の3ヶ月でやったこと[DDD]

この記事は ドメイン駆動設計 Advent Calendarの記事です。 今年の9月にログラスというスタートアップに転職しました。 ログラスは元々DDDについて講師として勉強会をさせてもらっていた会社であり、DDD自体は社として取り組んでおりある程度進んでいました…

DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか

Object-Oriented Conference 2020で登壇させていただきました。 その際の発表資料です。 発表資料 DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか from Koichiro Matsuoka www.slideshare.net 本章の内容は技術書典8(2020/3/1)で頒…

DDD Community Jpについて

DDD Community Jpは、Discordというチャットツールを利用しているオンラインコミュニティです。 チャットで質問を行うチャンネルや、ボイスチャットで開催されるオンライン勉強会などがあります。 Discord参加用リンク また、オフラインでも不定期でミートア…