ビジネスロジックを「型」で表現するためのタイプセーフなDDD by Yuito Sato

Object-Oriented Conference 2024
採択
2024/03/24 15:00〜
Track A(共2-201)
ロングセッション(40分)

ビジネスロジックを「型」で表現するためのタイプセーフなDDD

Yuiiitoto Yuito Sato Yuiiitoto
8

ビジネスの専門知識(ドメイン)を中心に据えたドメイン駆動設計に代数的データ型などの関数型のパラダイムを加えたよりタイプセーフなDDDを紹介します。

本セッションではドメインモデリングによって発見したモデルやビジネスロジックをソフトウェアに反映する際により型を重視した設計を加えます。
型で表現する範囲が広がることでビジネスロジックをより明確にコードで表現できるようになります。
さらには型で表現されているためコンパイルフェーズで気付けるミスが増え、ソフトウェアの品質向上にもつながります。

関数型の考えをいれるといってもただ単にHaskellなどに代表される関数型言語を使ってドメイン駆動設計を行うことではありません。
関数型の知識を応用したタイプセーフな考え方やテクニックは小さく導入することが可能です。RubyやJavaなどの既存のオブジェクト指向の良さをそのままに明日からプロダクトションコードを改善する手法を紹介します。

アジェンダ(当日の発表までに変わる可能性があります)

  1. タイプセーフDDDとは何か?
  2. タイプセーフDDDが解決できること
  3. 代数的データ型と全域性
  4. データ構造のモデリングと型安全なコーディング
  5. ワークフローのモデリングと型安全なコーディング
  6. OOPとの共存と拡張: RubyやJavaのプロジェクトでどのように導入するか?
  7. まとめ