O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

20150531 phpcon kansai

  • Seja o primeiro a comentar

20150531 phpcon kansai

  1. 1. ドメイン駆動設計の 仕様パターン 2015/5/31 PHPカンファレンス関西2015 LT @kuma_nana ― Specification Pattern ―
  2. 2. はじめに 2014年、大阪でドメイン駆動設計(DDD)の読書会や モデリングワークショップを開催 #dddosaka
  3. 3. はじめに ドメイン駆動設計(DDD)とは? ドメインとは・・・ ソフトウェアで解決しよう としている問題の領域のこと → ソフトウェアを作ると き、焦点を合わせるべきは ドメイン
  4. 4. 5分LTテーマとしては 壮大過ぎる・・・ので 今日は、 仕様パターンの話だけ!
  5. 5. 仕様パターンとは? - DDD本で紹介されているパターンの1つ - 仕様(業務ルール)を述語で定義 - 述語とは「真」か「偽」かを評価する関数
  6. 6. 業務ルール(ドメインの制約) たとえばこんな要件があった場合 - 商品を注文する 仕様:注文実行可能な場合のみ実行: - 注文する商品の在庫があること - 注文顧客がブラックリストにのっていないこと
  7. 7. 仕様パターンを使ったモデル
  8. 8. PHPによる実装 $inStoc->isSatisfiedBy($order) 注文オブジェクトの制約を検査する仕様 https://github.com/kumamidori/Sample.Specification
  9. 9. PHPによる実装 今回使ったライブラリ https://github.com/phpmentors-jp/domain-kata -ドメインモデルの「型」を提供 Domain Kata
  10. 10. まとめ これだけだと良さが わからないですよね。本で 読んで下さい( ╹◡╹) 実践本も今年出たよ 高木さん、ありがとうございました 副読本としておすすめ: ジェームス・O・コプリン 『マルチパラダイムデザイン』
  11. 11. 参考リンク - Practical DDD #1: Specificationパターンの例 - 「ドメインモデリングにおける関数型パターン―仕様パターン」を翻訳しました http://phpmentors.jp/post/54629162352/practical-ddd-1-specification http://phpmentors.jp/post/117295285988/fp-in-domain-modeling-specification @iteman @hidenorigoto いつもありがとうございます
  12. 12. Thanks! by @kuma_nana (つω ) 

×