添付ファイルの追加

ログイン済のユーザのみが添付ファイルをアップロード出来ます。

添付ファイル一覧

Kind Attachment Name Size Version Date Modified Author Change note
png
amount_class.png 3.4 kB 3 24-2-2011 00:45 ytp
png
boader.png 9.7 kB 1 03-2-2011 01:37 ytp
png
order_classes.png 6.6 kB 5 31-12-2011 19:19 ytp
png
order_classes2.png 6.9 kB 4 31-12-2011 19:20 ytp
png
order_classes4.png 9.9 kB 2 31-12-2011 19:39 ytp
png
order_objects.png 11.7 kB 1 21-2-2011 23:06 ytp

This page (revision-29) was last changed on 31-12-2011 19:26 by ytp

This page was created on 03-2-2011 01:33 by ytp

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 1 removed 2 lines
★このページはまだ書きかけです。
At line 5 changed 3 lines
私たち開発者は、その役割を実現出来るモノはどういう状態であるべきかを考える必要があります。__状態はデータ構造によって規定されます__。\\
繰り返しますが、その内部の状態がどうなっているかはクラスを利用する側からはあまり重要ではありません。利用する側からは「何をしてくれるのか?」が重要だからです。\\
しかし、__「それをするためにはどういうデータが必要か?」をクラスの設計者は考える__必要があります。
私たち開発者は、その役割を実現出来るモノはどういう状態であるべきかを考える必要があります。なぜならば、
*状態はデータ構造によって規定される
からです。\\
繰り返しますが、その内部の状態がどうなっているかはクラスを利用する側からはあまり重要ではありません。「何をしてくれるのか?」が利用する側からは重要だからです。\\
しかしクラスの設計者は、
*それをするためにはどういうデータが必要か?
を考えて決める必要があります。
At line 32 changed 2 lines
それではクラスにすべきものは何でしょうか?\\
システム要件の中に出てくる、
それではクラスにすべきものは何でしょうか? システム要件の中に出てくる、
At line 38 changed one line
!物クラス
!【物クラス】
At line 49 changed one line
!結果クラス
!【結果クラス】
At line 75 added 8 lines
\\
上記図での注意点は商品単価です。商品単価は、
*商品
*日付
の2つの要素によって決まりますが、このモデルでは、
#受注伝票が持つ日付
#受注明細が持つ商品
によって商品単価を特定します。
At line 81 changed one line
!レイアウトクラス
!【レイアウトクラス】
At line 88 changed one line
!プログラムクラス
!【プログラムクラス】
At line 104 changed 2 lines
!メインメクラス
アプリケーションが起動される入り口のクラスです。このクラスはメイン関数(メソッド)を持っているだけです。メイン関数の中からプログラムクラスのインスタンスを利用します。\\
!【メインメクラス】
アプリケーションが起動される入り口のクラスです。このクラスはメイン関数(メソッド)を持っているだけです。\\
メインは関数にならざるを得ないため、この中での処理はログ出力やエラー時の対応など最低限にとどめ、プログラムクラスのインスタンスに早く委譲するようにすべきです。\\
At line 117 added 19 lines
!!アプリケーションのクラス構成
上記で説明したクラスを受注伝票登録画面のアプリケーションとして仕上げる場合、次のような構成になります。
[order_classes4.png]
!!まとめ
*中心となるクラスは「物」と「結果」
*動詞のクラスを作ってはいけない
*クラスを抽出する前にオブジェクト図でまず考えてみる
!!コラム
「処理がクラスだ」と思っている開発者が大勢います。そう思っていなくても結果的にそういう実装になっている人も多いのです。\\
クラスを設計する際は、
*どんな情報が必要か?
*どんな状態を持つ必要があるか?
だけをひたすら追求するようにしてみて下さい。あとはそれらの組み合わせ方(関連)を考えるだけです。\\
それが出来るようになればきれいな設計に自然に近づきます。\\
\\
次: [小粒クラス]
Version Date Modified Size Author Changes ... Change note
29 31-12-2011 19:26 3.558 kB ytp to previous
28 04-12-2011 13:48 3.607 kB ytp to previous | to last
27 04-12-2011 13:45 3.597 kB ytp to previous | to last
26 18-8-2011 00:29 3.595 kB ytp to previous | to last 小物クラス ==> 小粒クラス
25 09-8-2011 01:55 3.595 kB ytp to previous | to last
24 02-8-2011 07:13 3.229 kB ytp to previous | to last
23 02-8-2011 05:53 3.074 kB ytp to previous | to last
22 21-7-2011 04:31 3.012 kB ytp to previous | to last
21 21-7-2011 04:31 3.015 kB ytp to previous | to last
« This page (revision-29) was last changed on 31-12-2011 19:26 by ytp