DDD読書会 アナリシスパターン
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

DDD読書会 アナリシスパターン

on

  • 2,602 views

第10回 DDD 読書会 で使用した発表資料です。11章アナリシスパターンをまとめました。

第10回 DDD 読書会 で使用した発表資料です。11章アナリシスパターンをまとめました。

http://tohoku-dev.jp/modules/eguide/event.php?eid=131

Statistics

Views

Total Views
2,602
Views on SlideShare
2,508
Embed Views
94

Actions

Likes
4
Downloads
26
Comments
2

5 Embeds 94

http://nnasaki.hatenablog.com 82
http://s.deeeki.com 8
http://131.253.14.250 2
http://webcache.googleusercontent.com 1
http://slideshare-download.seesaa.net 1

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • ありがとうございます。
    勘定パターンは結局消化し切れてなかったので、確認します!
    と思ったら70ページとは…
    Are you sure you want to
    Your message goes here
    Processing…
  • 勘定パターンは、本が出た後にだいぶ改訂されています。
    http://www.martinfowler.com/apsupp/accounting.pdf
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

DDD読書会 アナリシスパターン Presentation Transcript

  • 1. DDD読書会 第11章アナリシスパターンを 適用する @nnasaki(やまもと まさき)
  • 2. アジェンダ自己紹介アナリシスパターンの説明
  • 3. 自己紹介仙台の某IT企業に務めています受託開発やってます誕生日:1981年1月1日好きなもの:子供・ゲーム・音楽嫌いなもの:管理すること・されること特徴:でかい。目付き悪い。資格いっぱい
  • 4. アナリシスパターンとは 定義アナリシスパターンとは、ビジネスモデリングにおける共通の構造を表す、概念のグループである。ただ1つのドメインにしか適さないものもあれば、多くのドメインに及ぶものもある
  • 5. アナリシスパターンとは ( ゚Д゚)ハァ?
  • 6. アナリシスパターンとはDDD本を読んでいると、突然わからない言葉が増え、さらにわからない定義がされます。まぁ、もう半分ぐらい読んだからそんなに驚くことじゃないよね。大人なので前後の文脈を読み取ると大体わかってきます。
  • 7. アナリシスパターンとは文頭には何故アナリシスパターンを適用したいかが書かれています。深いモデルとしなやかな設計は容易に手に入らない過去の蓄積された経験を活かす。
  • 8. アナリシスパターンとはなんとなく今までの設計の批判というか難しさが強調されているのがわかりますでしょうか?
  • 9. アナリシスパターンとは次に冒頭の定義の後を読むとなんとなくわかってきます出発点ドメインモデルを考え出す支援実践的なコードが含まれる分析の落とし穴を理解している
  • 10. アナリシスパターンとは前ページの続きリリースの先まで見越している再コンパイルが不要システムが稼働中も実行可能多くの問題が回避できる
  • 11. アナリシスパターンとは今までの箇条書きを見るとアナリシスパターンすごすぎ!だけどここで落とし穴分析と設計との間に致命的な溝が生じる危険モデル駆動設計と正反対
  • 12. アナリシスパターンとはで、結局アナリシスパターンって一言でいうと?ドメインモデルの出発点かなと。重要なのは、アナリシスパターンがドメイン駆動設計プロセスにどう統合されるか。と本文でも言われています。丸々適用されるものではなく昇華が必要
  • 13. アナリシスパターンとは 定義アナリシスパターンとは、ビジネスモデリングにおける共通の構造を表す、概念のグループである。ただ1つのドメインにしか適さないものもあれば、多くのドメインに及ぶものもある
  • 14. 会計モデルの例
  • 15. 何が問題か?総額しかわからない変更を追跡して管理する必要があるアナリシスパターンにおける会計モデルとは?
  • 16. 基本的な会計モデル仕訳記帳を増やせば記録が残る。負の値もアリインターフェースは勘定科目だけわかればよくカプセル化されている
  • 17. 会計取引モデル複式簿記貸方と借り方が一対一で対応して0となる
  • 18. 新しいモデルの提案利息発生履歴も見れる発生と支払いは一対一と限らないあれ、アナリシスパターン通りにいかないぞ?
  • 19. 発生とは?ここで「発生」という言葉が出てきました。ユビキタス言語を明らかにする!支出や収入が生まれた瞬間に計上する受け渡す時間は気にしない例えば利息は毎日「発生」するが、支払いは月末にまとめて行う
  • 20. 発生を切り離したもの 期間内発生シンプルになった 利息「発生」の意図が伝わるようになったけれども、勘定で発生・支払い・収支全部管理出来ないの?
  • 21. 勘定科目を追加会計取引は消した仕訳記帳をそれぞれの勘定に挿入することで履歴を管理する
  • 22. 新たな問題発生仕訳記帳は支払いと発生のサブクラスに 手数料と利息が支分けた 払いのサブクラス となってしまった手数料勘定と利息勘定クラスに仕訳記帳を挿入するのは諦めた
  • 23. 何故諦めたか?プロジェクトの規約O/Rマッピングの制限わりとありがちで妥協点を見つけてモデル駆動を前に進めること
  • 24. 考察分析もテストも容易になったでも、副作用ない関数と表明によるものモデルの恩恵ではない!
  • 25. 考察ドメインモデルの恩恵が受けられないと思ってもアナリシスパターンを適用することで改善することができたちょっと前のスライドに戻って「アナリシスパターンとは?」理解できたでしょうか?
  • 26. アナリシスパターンとはで、結局アナリシスパターンって一言でいうと?ドメインモデルの出発点かなと。重要なのは、アナリシスパターンがドメイン駆動設計プロセスにどう統合されるか。と本文でも言われています。丸々適用されるものではなく昇華が必要
  • 27. 夜間バッチについて洞察勘定科目のモデルが定義されたことで、新たな問題点が明らかになったバッチのふるまいとアナリシスパターンの概念の一部につながりがあると気づいた
  • 28. 新たな問題点ある勘定科目は収入を追跡別の勘定科目は収入に対する税金を追跡
  • 29. こんなイメージ収入1月 給与 100002月 ボーナス 20000 税金3月 交通費 30004月 給与 300005月 ・・・ ・・・ 月々の収入ごとに 住民税 所得税 これらを自動で計算 カオス!
  • 30. 記帳ルール「入力」勘定に挿入された仕訳記帳がトリガー計算メソッドで処理「出力」勘定に派生された新しい仕訳記帳を挿入
  • 31. こんなイメージ収入1月 給与 100002月 ボーナス 20000 税金3月 交通費 30004月 給与 300005月 ・・・ ・・・ 住民税 所得税 記帳 ルール
  • 32. 依存関係の設計ファウラーは3つについて論じている都度実行が最も理解しやすいが、最も実用的でない(最初の例)勘定科目ベースの実行はまとめて処理が出来る記帳ルールベースの実行は外部のエージェントによって実行される(さっきの例)
  • 33. どう使うか?それぞれシステム内で混在可能それぞれ開始ポイントと入力勘定仕訳記帳を識別する責務が必要
  • 34. 記帳ルール適用記帳サービスとは?ファサード。会計アプリケーションのAPIをサービスで提供都度実行は日中の支払いに使えない。記帳ルールベースがよさそう
  • 35. 記帳ルール適用勘定科目と仕訳記帳の相互作用がはっきりしないファウラーは直接結びつけているがうまくいかなそう資産オブジェクトは各勘定科目の内容をしっているから、ルールの適用がわかる
  • 36. 記帳ルール適用メソッドがうまくつかえてないんじゃ?記帳ルール自身が元帳名を知っていればよさそう記帳ルールに勘定科目と元帳の関連付けを行う責務を与える
  • 37. 結果バッチ処理は複雑さから開放された各資産に対してイテレーションを行うだけとなったアナリシスパターンとはかなり異なることとなった記帳ルールと勘定科目の関連付けの課題は残る
  • 38. アナリシスパターンとはアナリシスパターンは活用すべき知識である手がかり。実装の指針。知識の噛み砕き深い洞察へ向かうリファクタリングに活力開発を活性化
  • 39. 注意点アナリシスパターンの基本的な概念は崩さないこと理由は2つ1.将来問題を避けれる要素があるかも2.ユビキタス言語が補足され強化できる
  • 40. パターンの実際モデルの選択と背景の理論があるアナリシスパターンはごくわずか包括的なアナリシスパターンはまだ見たことないいわゆる銀の弾丸ではない
  • 41. パターンを適用するワケアナリシスパターンは最も重要で困難な意思決定に焦点をあわせる代替案や選択肢を浮かび上がらせる今回説明した会計取引モデルで発生した問題はアナリシスパターンを適用しなければ、発見が遅れただろう