- - PR -
クラス設計について
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-08-20 13:41
こんにちわ。
最近はオブジェクト指向のクラス設計で考え込むことが多いです。 どこまでをクラスでどこまでをメソッドとして考えて良いのか・・・・ 現在は「パラメータを持ち処理のあるもの」と「他のクラスでも同じコードを使うもの」 をクラスとして分けています。 クラスはどこまで詳細に落として良いのか・・・・ | ||||||||
|
投稿日時: 2004-08-20 20:31
私もオブジェクト思考設計でよく悩んでいます。
モデルのオブジェクト化=>interfaceの抽出 ってな具合です。 | ||||||||
|
投稿日時: 2004-08-20 22:53
unibon です。こんにちわ。
「OOPがよくわかりません」 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=2931&forum=12 で、つぎのように書いたことがあります。
これが必ずしも正しいわけではありませんが、状態(フィールド)の片鱗だけでも思考のどこかに現れていないと、クラス設計はおぼつかないと思います。 | ||||||||
|
投稿日時: 2004-08-23 13:03
私は、ユースケース記述のフローを元に抽出します。
ユースケース記述のフローは通常、アクターが、何に対して、何をすると記述します。何に対してをクラス候補、何をするを責務の候補として抜き出します。 また、ユーザーの入力や見てくれに関わる部分をBoundaryクラス[B]、ロジックに相当する部分をControlクラス[C]、データの保持を行う部分をEntityクラス[E]とし、B-B, B-C, C-C, C-E, E-E間での結びつきがあるとき、コラボレーションの候補として抜き出します。 抜き出したクラス、責務、コラボレーションを使って、シーケンス図を書き、検証するといった、レビューを繰り返して、構成を洗練させていきます。 責務やコラボレーションという名称は、聞きなれないものかもしれませんが、とりあえずは、責務はメソッド、コラボレーションは委譲と考えてもらえばいいです。 | ||||||||
|
投稿日時: 2004-08-23 14:47
私は、ユースケース記述のフローを元に抽出します。
ユースケース記述のフローは通常、アクターが、何に対して、何をすると記述します。何に対してをクラス候補、何をするを責務の候補として抜き出します。 また、ユーザーの入力や見てくれに関わる部分をBoundaryクラス[B]、ロジックに相当する部分をControlクラス[C]、データの保持を行う部分をEntityクラス[E]とし、B-B, B-C, C-C, C-E, E-E間での結びつきがあるとき、コラボレーションの候補として抜き出します。 抜き出したクラス、責務、コラボレーションを使って、シーケンス図を書き、検証するといった、レビューを繰り返して、構成を洗練させていきます。 責務やコラボレーションという名称は、聞きなれないものかもしれませんが、とりあえずは、責務はメソッド、コラボレーションは委譲と考えてもらえばいいです。 | ||||||||
1
