Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DDDから得たもの
Search
kanayannet
January 21, 2018
Programming
0
1.4k
DDDから得たもの
kanayannet
January 21, 2018
Tweet
Share
More Decks by kanayannet
See All by kanayannet
FW と ライブラリ の考え方
kanayannet
0
130
TDDと今まで
kanayannet
0
340
個人開発 稼げなくてもいいアプリ
kanayannet
0
430
システムの堅牢性
kanayannet
0
220
Agile的学習方法
kanayannet
0
210
GUIをエンジニアが考える
kanayannet
0
180
http2http3
kanayannet
0
130
old typeからのクラウドインフラ
kanayannet
0
320
疎結合と認知
kanayannet
0
350
Other Decks in Programming
See All in Programming
Infrastructure as Code でセキュリティを楽にしよう!
konokenj
6
1.4k
What is TDD?
urakawa_jinsei
1
200
M5Stackボードの選び方
tanakamasayuki
0
200
C#および.NETに対する誤解をひも解く
ymd65536
0
230
DjangoNinjaで高速なAPI開発を実現する
masaya00
0
470
AWS認定資格を受験するにあたり、気づいたこと・実践していたことのまとめ
satoshi256kbyte
1
120
(Deep|Web) Link support with expo-router
mrtry
0
150
個人開発で使ってるやつを紹介する回
yohfee
1
670
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
6
240
[KR] Server Driven Compose With Firebase
skydoves
2
160
データサイエンスのフルサイクル開発を実現する機械学習パイプライン
xcnkx
2
480
tsconfig.jsonの最近の新機能 ファイルパス編
uhyo
6
1.4k
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
228
52k
VelocityConf: Rendering Performance Case Studies
addyosmani
324
23k
Why You Should Never Use an ORM
jnunemaker
PRO
53
9k
How GitHub Uses GitHub to Build GitHub
holman
473
290k
Testing 201, or: Great Expectations
jmmastey
38
7k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
41
9.2k
What's new in Ruby 2.0
geeforr
341
31k
A designer walks into a library…
pauljervisheath
201
24k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
Designing with Data
zakiwarfel
98
5.1k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
327
21k
Transcript
DDD から得たもの DDD から得たもの @kanayannet Gunma.web #30
自己紹介 自己紹介 名前 : 金澤 宏昭 Twitter : @kanayannet Facebook
: HiroakiKanazawa 元酒屋、プログラミングは独学
DDD と 私 DDD と 私 10 年近く前 本屋さんで 設計の本を探していると..
None
解らない >< 解らない >< 難しかった。 読み返したけど理解不能(><)
原因? 原因? 単純に経験不足 言葉( ドメイン) に囚われすぎ( だったか?) オブジェクト指向を覚え始めたばかり。
今回話すこと 今回話すこと 10 年前との違い 読んだ本 得たもの まとめ
10 年前との違い 10 年前との違い
名前空間の理解 名前空間の理解 正直に言うと.. 10 年前は分けずに書いていた。 名前空間の重要性を理解してない。
読めるコードとは? 読めるコードとは? 可読性の大切さを理解できるようになっ た。 1 月経って読み返しても読めるか? 1 ヶ月後の自分は別人
その他いろいろ その他いろいろ TDD/BDD 複数の言語を覚える 自然言語に近い形で書く
読んだ本 読んだ本
感想 感想 順をおって丁寧に解説してくださる感が 順をおって丁寧に解説してくださる感が 非常によかったです! 非常によかったです!
例 例 chapter 1 小さくまとめて解りやすくする なぜソフトウェアの変更は大変なのか
冒頭から ドメイン駆動 じゃない! 冒頭から ドメイン駆動 じゃない! 助かります! 助かります!
得たもの 得たもの
ドメインモデル ドメインモデル システムに関わるさまざまな実体とそれら の関係を説明するシステムの概念モデルで ある。 引用元: wikipedia
なんの為に なんの為に 業務知識、業務用語 を解りやすいよう概念 モデルにする 行き違いを起こさないように、情報共有す る etc..
がっちりとしたルール? がっちりとしたルール? なんでも、それに従うってのとは違うかも 解りやすく表現するために 伝わりやすいように
共有して育てていく 共有して育てていく 「名前はこっちの方が解りやすいかも? 」 「いいね。じゃあ変えるか」
実装に集中すると 実装に集中すると アルゴリズムに目が行きがちだが..
振り返ってみる 振り返ってみる 「人間 の やりたいことを 正しく 理解 す る」 「人間
の やりたいことを 動く ソフトウェ ア として 実現する方法を考える」 引用元 : 現場で役立つシステム設計の原則
つまずいた時 つまずいた時 という時ほど思い返した方がよいかも?
ユビキタス言語 ユビキタス言語 と聞くと難しく聞こえるが.. と聞くと難しく聞こえるが..
同じ意味の複数の言葉が乱立 同じ意味の複数の言葉が乱立 行き違い起きそう
単純な業務用語という意味ではない 単純な業務用語という意味ではない 整理する。 行き違いを起きなくする。
DDD は DDD は 考えるキッカケを貰える。 考えるキッカケを貰える。
仕様 仕様 数年前: Tochigi RubyKaigi05 基調講演
by 酒匂 寛さん by 酒匂 寛さん 「仕様は課題と設計を繋ぐものです」 「仕様は課題と設計を繋ぐものです」
None
by 和田 卓人 さん by 和田 卓人 さん simple と
easy の違い 一つのもの , 客観的である
何か通じるものがあるのかな? 何か通じるものがあるのかな? と感じました と感じました
まとめ まとめ 10 年越しに、自分の理解が 10 年越しに、自分の理解が ようやく追いついた感 ようやく追いついた感
ご清聴 ご清聴 ありがとうございました! ありがとうございました!
None
None