Contextが提示されていないResultは疑うべきだ。
「エンタープライズアプリケーションアーキテクチャパターン」を読んでいて
マーティン・ファウラーってすごい人なんだと改めて思った。
理由はResult(パターン)を提示する際にどういう局面で利用するかを明示化している所。
例えばドメインモデルを利用するタイミングとしてシステム内の振る舞いが複雑な場合と開発チームのスキルがドメインオブジェクトを扱うスキルがあることとしている。
逆にトランザクションスクリプトが適切な場合として簡単な非ヌルチェックと2つの合計を計算する場合を上げている。(「エンタープライズアプリケーションアーキテクチャパターン」 P126)
ただファウラーはドメインモデルを好んで利用しているようである。(「エンタープライズアプリケーションアーキテクチャパターン」 P122)
この部分を読んで思ったことなのですが
ファウラーはドメインモデルしか採用しないというわけでないと言うことである。
もしドメインモデルしか採用しないのであれば「エンタープライズアプリケーションアーキテクチャパターン」には
「トランザクションスクリプト」はパターンとして掲載されなかっただろう。
そこで少し考えたのですが自分はblogとかでよく結論は出すけど
Contextをきっちり明示していないことに気がついた。
アジャイルマンセーでもいいしオブジェクト指向マンセーでも
MDAマンセーでもStrutsマンセーでもいいんですけど
どういうContextにおいてそれが適切なのかを明示せずに
全ての局面において適切だとすると、それは銀の弾丸となる。
よって思ったのはContextが明示されていないResultは
逆に全て疑ってかかるべきですね。
銀の弾丸は存在しないですから。
またContextを明示しないで結論を書いてしまうと
ある意味、宗教戦争となりやすいのではないかと思いました。