★このページはまだ書きかけです。 
!!!様々なクラスで再利用可能なのが小物クラス
粒度が非常に小さいクラスのことを小物(こもの)クラスと私は呼んでいます。次のようなものです。
*数量
*金額
*日付
*氏名
*宛先
*クレジットカード番号
*電話番号
などなど。\\
これらは、他のクラスの属性として使われることを前提としています。そのため、極めて汎用的に設計しておく必要があります。その代わり、一度作ってしまえばシステムや時代ををまたがって再利用することが可能です。\\

!!数値系クラス
まずは以下のクラス図を見てください。\\
[numeric.png]

!!金額クラス
商品単価クラスが持っている金額クラスを考えてみます。日本の通貨である円を前提にするならばクラスにするまでもなく、intなどの整数属性として持てばいいように思えます。\\
しかし金額クラスとして定義しておけば次のような振る舞いを持たせることが可能になります。\\
*消費税金額を返す
*カンマと通貨記号で編集した文字列を返す
日本において消費税計算は特に重要で、計算の基となる情報として「消費税区分(内税/外税/税額)」が必要になります。「税額」という区分値は、その金額が消費税自体を表す時に使います。また消費税率も必要ですが、これは全オブジェクトで共通なのでクラス変数として定義します。\\
これらを反映したのが次のクラス図です。\\
[amount_class.png]

!!日付クラス
日付クラスは何かが実行された年月日を持っているクラスです。\\
日付クラスはとても汎用的に設計する必要があります。例えば、区切り文字で日付を編集した文字列を返すメソッドを実装するにしても、スラッシュ(/)で区切るメソッドやハイフン(-)で区切るメソッドなどいくつか必要になります。また、
*翌日の日付を返す
*翌月の日付を返す
*翌年の日付を返す
なども持っていると使う側が便利です。\\
特に会計システムなどでサイト計算が必要な場合は、
*xx日後の日付を返す
というメソッドも持ちます。\\
日本でのみ使われる前提のシステムの場合はロケールを意識しなくて済みますが、グローバルシステムの場合はシステムが稼働しているロケールも意識して日付編集を行う必要が出て来ます。\\
上記クラス図で解るように日付クラスは色々なクラスから利用されるため、色々な可能性を考えて設計する必要があります。\\