[ドメインモデルをピュアに保ちたくない人現る]本日のDDD界隈
DDD本の一番よくないところは、下記の点をやや誤魔化しているところ。プログラミングの自然な延長としてドメインモデリングがあるかのような幻想を与えている。プログラマに受け入れられるための方便だと思うが、ドメインモデルとは何か、という問題への答えをぼかす要因にもなっている。 twitter.com/sugimoto_kei/s…
2016-12-17 21:19:19プログラミングの先にドメインモデリングのような世界があるという言説はプログラマの耳に心地よい。プログラミング経験はドメインモデリングに役立つが、それだけでは十分でないと僕は思う。プログラム以外のこともやらなければ、よいモデルは作れない。そういうことを誤魔化してはいけない。
2016-12-17 20:54:56ドメインモデル云々関係なく外部ライブラリの提供する型がテスト対象のシグネチャに含まれてたらテストしづらくなるの当たり前だし、そういうのはやめましょうみたいなの小学校の先生に習わなかったのかな。
2016-12-17 21:22:46モックが何故悪なのか。純粋な関数は入力が決まれば出力が決まるのでそこをテストすれば良い。そこにモックが関わってくると、モックの入力と出力が加わって、最低でも4つのパラメータを用意しないといけなくなる。モックの呼び出し前後で2つの処理にして別々にテストするか、
2016-12-17 21:24:21A という文脈で B であるみたいなのを見た時に最近いやそれ A という文脈に関係なく大体常に B だよみたいなのが多くて、なんだなんだという感じだ そういう時期なのか
2016-12-17 21:25:37専門家の話をよく聴いて分析してモデルに反映しろ、プログラマーら独善的に書いてないで外部から学べっていうのがDDD本の主張じゃなかったかな。 twitter.com/sugimoto_kei/s…
2016-12-17 21:41:15対象分野の専門家の話をよく聴けば、良いモデルとソフトウェアを設計できるのか。ならば、熟達したプログラマの話を聞いたら、私は、その内容を分析して、新しい言語を設計したり、よいコンパイラを作れるのか。話を聴くことは重要。でも、それだけでは不十分でしょう。そんな無理なことをやってる。
2016-12-17 22:40:44.@sugimoto_kei DDDはビジネスアプリケーションの構築を前提としているので、良いコンパイラを作るためのアプローチには適切じゃ無いと思います。
2016-12-17 22:43:33そこが、大して変わらないというか、区別しない方がよいのでは?というのが、まさに私のポイントなんですね^^ twitter.com/cactaceae/stat…
2016-12-17 22:45:28プログラマが言語設計やコンパイラに精通しているわけじゃない。では、なぜ、例えば、会計士が会計システムの設計原理に精通していると考えるのか、ということですね。ドメインエキスパートって誰よってこと。ドメインモデリングに関する根本的な論点じゃないのかなあ。@sugimoto_kei
2016-12-17 22:54:24なるほど。それは僕にとっては新しい視点です。前提を外すと役に立たないというのは、当たり前のことだと思いますが、その区別しない方法でDDDの想定している状況でもそうでない状況でも共通して成り立つよいアプローチというのがあると言うことですか? @sugimoto_kei
2016-12-17 22:55:27@cactaceae そうではなくて、区別しない視点で見れば、コンパイラとビジネスアプリケーションの場合で異なるのが、(アプローチではなく)プログラマとドメインの係わり方であることが見えてくるだろうというお話です。
2016-12-17 23:01:57会計士が精通してるのは会計業務というドメインです。その知識を元にシステムを設計するのはエンジニアでしょう。もともとシステムの設計が出来ないレベルのプログラマーがDDDを知ってもすぐに良いシステムの設計ができるようにはならないですね。設計について学ぶきっかけにはなるかもしれません。
2016-12-17 23:02:02.@sugimoto_kei プログラマが対象の理解を深める努力を怠って、ドメインエキスパートの言葉を鵜呑みにするのがよく無いと言うことです?
2016-12-17 23:06:25@cactaceae むしろ、その「ドメインエキスパート」っていうのが、実は、ユーザ集団の中にはいないし、一般論としては、そちらに求めるのは無理じゃないか、そうであれば、プロググラマの側がドメインエキスパートにならないとしょうがないんじゃないか、という趣旨です。
2016-12-17 23:10:15ちゅうか、僕は、四半世紀、会計システム分野でお仕事しているわけですが、その間、ユーザサイドで、この人が会計ドメインエキスパート、っていう人にお会いした経験が無いんですね。業務に精通している人やビジョンを持っている人はいますが。 twitter.com/sugimoto_kei/s…
2016-12-17 23:13:33たしかにDDD本にドメインモデリング自体の方法論について書いてあった記憶がないな。目次を見てみるとアナリシスパターンを使えっていうところに1章さいてる。
2016-12-17 23:14:17@cactaceae でしょ^^ 会計士についてのツイートをお読みしましたが、彼らだって、会計システムについては漠然とした知見しかないし、自分の本務だとも考えてないです。彼らや経理担当者と話しながらシステムをなんとか作ることは可能ではありますが、ずっとそれでよいのかという点です。
2016-12-17 23:21:36DDDのドメイン層はPOJO(Javaなら)であるべきでライブラリの”型”が介入するべきでは無いと思う。(Jodaとかやむを得ない場合もあるけど)
2016-12-17 23:30:29モデルに基づくシステムズエンジニアリング 西村 秀和 amazon.co.jp/dp/482227540X/… @amazonJPさんから
2016-12-17 23:46:22