Inicio
Explorar
Enviar búsqueda
Cargar
Iniciar sesión
Registrarse
Publicidad
Check these out next
マイクロにしすぎた結果がこれだよ!
mosa siru
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
Dockerからcontainerdへの移行
Kohei Tokunaga
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
Mikiya Okuno
世界一わかりやすいClean Architecture
Atsushi Nakamura
1
de
16
Top clipped slide
Tackling Complexity
15 de Jun de 2022
•
0 recomendaciones
5 recomendaciones
×
Sé el primero en que te guste
ver más
•
2,745 vistas
vistas
×
Total de vistas
0
En Slideshare
0
De embebidos
0
Número de embebidos
0
Denunciar
Software
設計ナイト2022 「トランザクションスクリプト」でのディスカッション枠スライドです。
Yoshitaka Kawashima
Seguir
Programmer
Publicidad
Publicidad
Publicidad
Recomendados
イミュータブルデータモデルの極意
Yoshitaka Kawashima
22.5K vistas
•
28 diapositivas
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
82.5K vistas
•
89 diapositivas
イベント・ソーシングを知る
Shuhei Fujita
30.4K vistas
•
33 diapositivas
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
170.4K vistas
•
24 diapositivas
マイクロサービス 4つの分割アプローチ
増田 亨
40.4K vistas
•
60 diapositivas
強いて言えば「集約どう実装するのかな、を考える」な話
Yoshitaka Kawashima
6.6K vistas
•
23 diapositivas
Más contenido relacionado
Presentaciones para ti
(20)
マイクロにしすぎた結果がこれだよ!
mosa siru
•
131.4K vistas
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
•
22.4K vistas
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
•
143.2K vistas
Dockerからcontainerdへの移行
Kohei Tokunaga
•
15.3K vistas
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
•
28.4K vistas
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
•
82.6K vistas
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
Mikiya Okuno
•
20.7K vistas
世界一わかりやすいClean Architecture
Atsushi Nakamura
•
45.2K vistas
ソフトウェア開発における『知の高速道路』
Yoshitaka Kawashima
•
20.1K vistas
ドメイン駆動設計(DDD)の実践Part2
増田 亨
•
12.7K vistas
シリコンバレーの「何が」凄いのか
Atsushi Nakada
•
182.8K vistas
例外設計における大罪
Takuto Wada
•
66.4K vistas
ドメインオブジェクトの見つけ方・作り方・育て方
増田 亨
•
29.7K vistas
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
•
95.3K vistas
開発速度が速い #とは(LayerX社内資料)
mosa siru
•
58K vistas
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
Atsuo AOKI
•
23.9K vistas
境界付けられたコンテキスト 概念編 (ドメイン駆動設計用語解説シリーズ)
Koichiro Matsuoka
•
2K vistas
ドメイン駆動設計 の 実践 Part3 DDD
増田 亨
•
8.6K vistas
Java ORマッパー選定のポイント #jsug
Masatoshi Tada
•
86.3K vistas
Where狙いのキー、order by狙いのキー
yoku0825
•
38K vistas
Más de Yoshitaka Kawashima
(20)
Are Design Patterns Dead?
Yoshitaka Kawashima
•
394 vistas
ソフトウェアにおける 複雑さとは何なのか?
Yoshitaka Kawashima
•
946 vistas
ソフトウェア設計における 意思決定とそのレビューの秘訣
Yoshitaka Kawashima
•
4.6K vistas
本番障害に至る病
Yoshitaka Kawashima
•
2.3K vistas
システムダウンのひみつ
Yoshitaka Kawashima
•
2.2K vistas
Mavenの真実とウソ
Yoshitaka Kawashima
•
12.6K vistas
アンチフラジャイルの世界
Yoshitaka Kawashima
•
5.1K vistas
Atomic Architecture
Yoshitaka Kawashima
•
17.2K vistas
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
Yoshitaka Kawashima
•
22.7K vistas
ウォーターフォールとアジャイルのフェアな比較
Yoshitaka Kawashima
•
9.5K vistas
How to find tech books
Yoshitaka Kawashima
•
1.5K vistas
Antifragile Java - Java Day Tokyo 2017 D1-E1
Yoshitaka Kawashima
•
6K vistas
たとえ日本人同士でも必要な異文化理解力
Yoshitaka Kawashima
•
18.6K vistas
SIerにとっての越境 @ DevLOVE 199
Yoshitaka Kawashima
•
3.2K vistas
なぜデータモデリングが重要なのか?
Yoshitaka Kawashima
•
6.1K vistas
Antifragile Clojure
Yoshitaka Kawashima
•
3.8K vistas
Boilerplate vs Magic
Yoshitaka Kawashima
•
1.9K vistas
既婚プログラマの時間捻出術
Yoshitaka Kawashima
•
18.1K vistas
Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのか
Yoshitaka Kawashima
•
9.6K vistas
マイクロフレームワークEnkan(とKotowari)ではじめるREPL駆動開発
Yoshitaka Kawashima
•
3.3K vistas
Publicidad
Último
(20)
①【南十字星大学毕业证文凭学位证书|工艺完美复刻】
vgh215w
•
3 vistas
測量データ処理システム「MarineDiscoveryクラウド」の紹介
ssuserbceee8
•
56 vistas
留信网认证可查【南安普顿大学文凭证书毕业证购买】
32lkhng
•
2 vistas
脆弱性がみつかってからパッチとSecurity Bulletinが作られるまで
Hiroko Takamiya
•
2 vistas
留信网认证可查【太平洋大学文凭证书毕业证购买】
hh123hh1
•
2 vistas
留信网认证可查【萨福克大学文凭证书毕业证购买】
hh123hh1
•
3 vistas
☀️【萨德伯里大学毕业证成绩单留学生首选】
15sad
•
2 vistas
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.9.0対応)
fisuda
•
47 vistas
留信网认证可查【怀俄明大学文凭证书毕业证购买】
1lkjhg
•
2 vistas
留信网认证可查【堪萨斯大学文凭证书毕业证购买】
1lkjhg
•
2 vistas
①【密德萨斯大学毕业证文凭学位证书|工艺完美复刻】
0987hgh789
•
2 vistas
在哪里可以做《俄克拉荷马大学文凭证书|毕业证》
lobd15
•
2 vistas
設計/ドメイン設計(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第23回】
Tomoharu ASAMI
•
9 vistas
留信网认证可查【新学院文凭证书毕业证购买】
hh123hh1
•
2 vistas
①【劳里埃大学毕业证文凭学位证书|工艺完美复刻】
love445ds
•
2 vistas
☀️【斯旺西大学毕业证成绩单留学生首选】
25mjhd12
•
2 vistas
在哪里可以做《邦德大学文凭证书|毕业证》
kjds1245
•
2 vistas
留信网认证可查【波恩大学文凭证书毕业证购买】
khh123kj
•
2 vistas
①【萨斯喀彻温大学毕业证文凭学位证书|工艺完美复刻】
love445ds
•
2 vistas
JSUG Info Vol.13
Draft One
•
3 vistas
Tackling Complexity
Tackling Complexity kawasima 設計ナイト 2022
ドメインモデルは「複雑さ」に対応するものである 複雑 シンプル Theorem ファウラーのあやまち ドメインモデルパターンを「An object model
of the domain that incorporates both behavior and data」って定義しちゃっているため、オブ ジェクト指向パラダイムに縛られている。
では「複雑さ」とは何なのか? Simple Made Easy https://github.com/tallesl/Rich-Hickey-fanclub
シンプルの反対の意味である「複雑」とは…? 1つの塊に複数のものが混在している状態 ● 複数の役割 ● 複数のタスク ●
複数の概念 ● 複数の次元 構造の複雑さ (凝集度に関連)
「複雑」は別の意味で用いられることもある パーツの数が多く、それらが関連していること NetflixのMicroservices構成
2種類の「複雑さ」 構造の複雑さ ● 分解可能 ○ 分解するとパーツが増え、関 係性の複雑さが増す ●
凝集度の話 ○ データにもfunctionにも存在す る 関係性の複雑さ ● 業務を変えない限りは、不可避 ● サブドメイン分割など、分割統治で 立ち向かう ● 構造の複雑さと解消しないと、見え にくい Out of the tar pit だと Accidental Complexity Essential Complexity
Kent BeckのSimple Design 1.
全てのテストがパスする (Passes the tests) 2. 意図が明確である (Reveals intention) 3. 重複がない (No duplication) 4. 最小の構成要素 (Fewest elements) https://martinfowler.com/bliki/BeckDesignRules.html これは「関係性の複雑さ」についての言及 今必要ないものを作り込んで、設計要素を増やすな (YAGNI)
ドメインモデルというからには 構造の「複雑さ」を解消してなくてはならない
00年代によく見られたドメイン層の実装
実態として、構造の複雑さが解消されていない
「あちこちで料金計算していたロジックを、料金の クラスにまとめました。」 \\高凝集// \\ドメインモデル// ってなりかねない… ドメインモデリングでは「構造の複雑さ」をどう減らすか、 もっとフォーカスされなくてはならない \\脱トランザクションスクリプト//
構造の「複雑さ」を別のレイヤ に押し込めることじゃなく https://github.com/kawasima/kata
構造の複雑さをシンプルに
渡辺幸三さんの「データモデリング入門」より ここでは「複雑さ」に構造と関係性両方を含んで の話だが、上の図は構造の複雑さを含んだ データモデルは、処理系の構造も複雑にしてし まう、ことを表している データとプロセスの複雑さの関係
Wrap up ● 「複雑さ」は2種類あるので、分けて考えよう ●
「構造の複雑さ」はSimple Made Easy - wayで分解する ● 「関係性の複雑さ」は「構造の複雑さ」を解消しないと見えにくい ● 「複雑さ」に対処するのが、ドメインロジックのパターンの本質 ○ なんだけど、パターンそのものは、構造の複雑さ解消の土台を作っているだけに過ぎない ○ 地道に構造の複雑さを解消していかない限りは「複雑さ」が移動しているだけになる
参考文献 ● Scott Wlaschin
“”Reinventing the Transaction Script ● Scott Wlaschin “Domain Modeling Made Functional” ● Rich Hickey “Simple Made Easy” ● 渡辺幸三 “データモデリング入門” ● Eric Normand “Grokking Simplicity” ● kawasima “https://scrapbox.io/kawasima/ドメインモデル貧血症” ● kawasima “https://scrapbox.io/kawasima/イミュータブルデータモデル”
Publicidad