ひがやすを技術ブログ

電通国際情報サービスのプログラマ

ダイコン時代の設計手法 - クラス抽出

http://d.hatena.ne.jp/akon/20040727#p1
http://d.hatena.ne.jp/makotan/20040727#p10
http://d.hatena.ne.jp/isami100/20040727#p1
http://d.hatena.ne.jp/marrow/20040727#1090917475
とさまざまな意見がありますが、コントロールの抽出は、
akonさんといっしょです。
イベントごとにVOで認識されるものをコントロールとします。
そのコントロールをどのようにまとめるかで、いろいろな意見があるのだと
思います。
isami100さんの1コントロール、1インターフェースは、S1時代にとっていた
方法で、シンプルで簡単です。
別にmakotanのいうようにクラスの管理が大変になるとは思いませんが、
これまでの管理手法と大きくかい離しているために、
なじみにくいという点がネックです。
やはり、ある手以後グルーピングしてインターフェースにまとめた方が、
わかりやすいんだろうなと思ってます。


インターフェースにまとめるときに、それが人によってまちまちになることは
避けたい。誰が、やってもある程度同じ結果になるような指針がないと
いけないと思ってます。
その考えでいくと、自由にCRC分析するのはないかなと思います。


そこで、私が考えたのが、バウンダリに関連するコントロール
1つのコントロールにまとめる、
エンティティに関連するコントロールを1つにまとめる、
それ以外を共通のコントロールにまとめる方法です。
実際は、共通コントロールも幾つかのカテゴリ(インターフェース)に
分類すべきだと思っているのですが、この部分の指針が定まってません。
目的語で分けるのは直感的にはどうかなぁと思っているのですが。
今、くーすは現実の案件に投入しているので、
その中で見えてくるのかもしれません。