このエントリーをはてなブックマークに追加

Nov

24

イミュータブルでゆこう

状態の複雑さを取りのぞく設計の効果とやり方を学ぶ

Organizing : masuda220

Registration info

一般参加

Free

FCFS
778/800

発表者

Free

FCFS
3/3

参加者への情報
(参加者と発表者のみに公開されます)

Description

ソフトウェアが複雑になる大きな原因が状態の複雑さです。

この状態の複雑さをできるだけ取り除くことで、ソフトウェアは見違えるようにわかりやすくなり、また挙動も安定します。

状態の複雑さを取り除くイミューターブル(変更不可)な設計の実践的な考え方とやり方を、経験豊富な3名のエンジニアがわかりやすく紹介します。

  • イミュータブルなデータモデルで設計する
  • イベントソーシングで設計する
  • ドメインモデルをイミュータブルに設計する

タイムテーブル

内容 時間 発表者
オープニング 5分
イミュータブルデータモデルの極意 60分 川島義隆 (株)ウルフチーフ 代表取締役
ドメインイベントの観点から再考するソフトウェア設計 30分 かとじゅん Chatworkテックリード
ドメイン駆動設計とイミュータブルデータモデルの素敵な関係 15分 増田 亨 (有)システム設計 代表
発表者3人による座談会 + Q&A 30分

イミュータブルデータモデルの極意

RDBのテーブル設計は難しい作業の1つとされています。

正規化はアプローチの1つですが、それだけでは業務で使いやすく有用で変更に強いものができるとは限りません。業務で扱われるデータのライフサイクルを把握し、記録すべき事実を見つけ出しそれがロストすることが無いように設計することが併せて必要になります。

こうした設計を自然に行えるよう、これまで私が実際に開発の現場で用いてきた技法を「イミュータブルデータモデル」として体系立ててまとめて公開しています。

本セッションではその勘所をお話するとともに、効能を実感いただきます。

発表者 川島さんの自己紹介

株式会社ウルフチーフ 代表取締役。19年半SIerで様々な業種のシステム設計に携わってきた経験をもとに、2018年に独立。
より多様な設計課題を求めて、流しのアーキテクトがみなさんの開発現場へと参ります。

ドメインイベントの観点から再考するソフトウェア設計

ドメインイベントは過去に起きたドメイン上の出来事を意味します。「過去に起きた」なので後から変更できません。つまり不変(イミュータブル)なモデルです。

昨今、このドメインイベントはCQRS/Event Sourcingやマイクロサービスなどの書籍で取り上げられ、実際に実装上でドメインイベントが利用される事例も増えています。このように有益性は認識されつつありますが「うちはEvent Sourcingじゃないのでイベントは関係ありません」と視野が狭くなっている方もいます。

たとえ実装で使えなくても、ドメイン分析に基盤的な視点を与えてくれるのがドメインイベントです。おっと、これ以上 詳しいことは当日に…。

ともあれ、今回は「そもそもドメインイベントはソフトウェア設計にどのような影響を与えるのか」を再考する場にしたいと思います。

発表者 かとじゅんさんの自己紹介

Chatworkのテックリード。10歳で初めてプログラミングに触れる。SIとしてさまざまな現場での業務を経験した後、2011年より某D社、2013年より大手ソーシャルゲーム企業で、それぞれScalaやドメイン駆動設計を採用したシステム開発に従事。
2014年7月よりChatworkに参画。現在はChatwork次期アーキテクチャのプランニングや設計、開発に携わる。

ドメイン駆動設計とイミュータブルデータモデルの素敵な関係

ドメイン駆動設計は事業活動の仕組みと決め事をオブジェクトモデル(ドメインモデル)で表現することを軸にしたソフトウェア設計手法です。

ドメインモデルは、ビジネスルールに基づいた計算判断ロジックを宣言的に表現します。そして、同じ事実からは必ず同じ結果になるように設計することが重要です。この「同じ事実からは必ず同じ結果になる」は、イミュータブルデータモデルの考え方そのものです。

イミュータブルなドメインモデルとイミュータブルなデータモデルを組み合わせることで、ドメインオブジェクトとドメインで発生した事実を記録したデータベースとの双方向のマッピングがシンプルで安定したものになります。

発表者

有限会社システム設計 増田 亨

発表者

Feed

masuda220

masuda220さんが資料をアップしました。

11/25/2021 16:29

masuda220

masuda220さんが資料をアップしました。

11/25/2021 07:54

masuda220

masuda220さんが資料をアップしました。

11/24/2021 22:15

masuda220

masuda220さんが資料をアップしました。

11/24/2021 22:14

masuda220

masuda220さんが資料をアップしました。

11/24/2021 22:12

masuda220

masuda220 published イミュータブルでゆこう.

11/07/2021 10:02

イミュータブルでゆこう を公開しました!

Ended

2021/11/24(Wed)

19:30
22:00

You cannot RSVP if you are already participating in another event at the same date.

Registration Period
2021/11/07(Sun) 10:02 〜
2021/11/24(Wed) 20:00

Location

オンライン(zoom)

オンライン(zoom)

Organizer

Attendees(781)

azukazu

azukazu

イミュータブルでゆこうに参加を申し込みました!

mikiwara

mikiwara

イミュータブルでゆこう に参加を申し込みました!

KiminobuTaniguchi

KiminobuTaniguchi

イミュータブルでゆこう に参加を申し込みました!

Takashi Shibata

Takashi Shibata

イミュータブルでゆこうに参加を申し込みました!

yoshikawa64kb

yoshikawa64kb

イミュータブルでゆこうに参加を申し込みました!

yukinkope

yukinkope

イミュータブルでゆこう に参加を申し込みました!

yuichiron3

yuichiron3

イミュータブルでゆこうに参加を申し込みました!

omanuke

omanuke

イミュータブルでゆこう に参加を申し込みました!

drawfps

drawfps

イミュータブルでゆこうに参加を申し込みました!

Eisuke

Eisuke

イミュータブルでゆこうに参加を申し込みました!

Attendees (781)

Canceled (18)