Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DDDから得たもの

kanayannet
January 21, 2018

 DDDから得たもの

kanayannet

January 21, 2018
Tweet

More Decks by kanayannet

Other Decks in Programming

Transcript

  1. DDD
    から得たもの
    DDD
    から得たもの
    @kanayannet
    Gunma.web #30

    View Slide

  2. 自己紹介
    自己紹介
    名前 :
    金澤 宏昭
    Twitter : @kanayannet
    Facebook : HiroakiKanazawa
    元酒屋、プログラミングは独学

    View Slide

  3. DDD
    と 私
    DDD
    と 私
    10
    年近く前
    本屋さんで 設計の本を探していると..

    View Slide

  4. View Slide

  5. 解らない ><
    解らない ><
    難しかった。
    読み返したけど理解不能(>

    View Slide

  6. 原因?
    原因?
    単純に経験不足
    言葉(
    ドメイン)
    に囚われすぎ(
    だったか?)
    オブジェクト指向を覚え始めたばかり。

    View Slide

  7. 今回話すこと
    今回話すこと
    10
    年前との違い
    読んだ本
    得たもの
    まとめ

    View Slide

  8. 10
    年前との違い
    10
    年前との違い

    View Slide

  9. 名前空間の理解
    名前空間の理解
    正直に言うと..
    10
    年前は分けずに書いていた。
    名前空間の重要性を理解してない。

    View Slide

  10. 読めるコードとは?
    読めるコードとは?
    可読性の大切さを理解できるようになっ
    た。
    1
    月経って読み返しても読めるか?
    1
    ヶ月後の自分は別人

    View Slide

  11. その他いろいろ
    その他いろいろ
    TDD/BDD
    複数の言語を覚える
    自然言語に近い形で書く

    View Slide

  12. 読んだ本
    読んだ本

    View Slide

  13. 感想
    感想
    順をおって丁寧に解説してくださる感が
    順をおって丁寧に解説してくださる感が
    非常によかったです!
    非常によかったです!

    View Slide



  14. chapter 1
    小さくまとめて解りやすくする
    なぜソフトウェアの変更は大変なのか

    View Slide

  15. 冒頭から ドメイン駆動 じゃない!
    冒頭から ドメイン駆動 じゃない!
    助かります!
    助かります!

    View Slide

  16. 得たもの
    得たもの

    View Slide

  17. ドメインモデル
    ドメインモデル
    システムに関わるさまざまな実体とそれら
    の関係を説明するシステムの概念モデルで
    ある。
    引用元: wikipedia

    View Slide

  18. なんの為に
    なんの為に
    業務知識、業務用語 を解りやすいよう概念
    モデルにする
    行き違いを起こさないように、情報共有す

    etc..

    View Slide

  19. がっちりとしたルール?
    がっちりとしたルール?
    なんでも、それに従うってのとは違うかも
    解りやすく表現するために
    伝わりやすいように

    View Slide

  20. 共有して育てていく
    共有して育てていく
    「名前はこっちの方が解りやすいかも?

    「いいね。じゃあ変えるか」

    View Slide

  21. 実装に集中すると
    実装に集中すると
    アルゴリズムに目が行きがちだが..

    View Slide

  22. 振り返ってみる
    振り返ってみる
    「人間 の やりたいことを 正しく 理解 す
    る」
    「人間 の やりたいことを 動く ソフトウェ
    ア として 実現する方法を考える」
    引用元 :
    現場で役立つシステム設計の原則

    View Slide

  23. つまずいた時
    つまずいた時
    という時ほど思い返した方がよいかも?

    View Slide

  24. ユビキタス言語
    ユビキタス言語
    と聞くと難しく聞こえるが..
    と聞くと難しく聞こえるが..

    View Slide

  25. 同じ意味の複数の言葉が乱立
    同じ意味の複数の言葉が乱立
    行き違い起きそう

    View Slide

  26. 単純な業務用語という意味ではない
    単純な業務用語という意味ではない
    整理する。
    行き違いを起きなくする。

    View Slide

  27. DDD

    DDD

    考えるキッカケを貰える。
    考えるキッカケを貰える。

    View Slide

  28. 仕様
    仕様
    数年前: Tochigi RubyKaigi05
    基調講演

    View Slide

  29. by
    酒匂 寛さん
    by
    酒匂 寛さん
    「仕様は課題と設計を繋ぐものです」
    「仕様は課題と設計を繋ぐものです」

    View Slide

  30. View Slide

  31. by
    和田 卓人 さん
    by
    和田 卓人 さん
    simple
    と easy
    の違い
    一つのもの ,
    客観的である

    View Slide

  32. 何か通じるものがあるのかな?
    何か通じるものがあるのかな?
    と感じました
    と感じました

    View Slide

  33. まとめ
    まとめ
    10
    年越しに、自分の理解が
    10
    年越しに、自分の理解が
    ようやく追いついた感
    ようやく追いついた感

    View Slide

  34. ご清聴
    ご清聴
    ありがとうございました!
    ありがとうございました!

    View Slide

  35. View Slide

  36. View Slide