ユーティリティクラスを作ってはいけない#
ユーティリティクラスと世間で言われるクラスを作ってはいけません。ユーティリティクラスというのは単なる関数やサブルーチンの集まりであり、データ構造を持たないクラスだからです。ユーティリティクラスというのをもう少し詳しく言うと、「クラス変数にもインスタンス変数にも一切アクセスしないメソッドを集めたクラス」のことです。クラス変数にもインスタンス変数にも一切アクセスしないということは、データ構造を内部に持たないと言うことです。
「クラスとはデータ構造」という原則に、これは明らかに反します。
例外的にユーティリティクラスを許す場合#
例外的にとは書きましたが、このケースは割と多く存在します。一言で言うと、別メモリ空間で稼働するシステムにオブジェクトが持つデータを渡す場合#
です。抽象的な言葉過ぎて解りにくいと思うので例を使って説明します。クラス名 | メソッド1 | メソッド2 | メソッド3 | メソッド4 | メソッド5 |
---|---|---|---|---|---|
受注伝票クラス | 受注金額合計を返す | 受注した商品の種類数を返す | データをRDBに書き込む | データをテキストファイルに書き込む | データをネットワークに出力する |
従業員クラス |
添付ファイルの追加
ログイン済のユーザのみが添付ファイルをアップロード出来ます。
添付ファイル一覧
Kind | Attachment Name | Size | Version | Date Modified | Author | Change note |
---|---|---|---|---|---|---|
png |
utility_class1.png | 5.3 kB | 2 | 01-7-2011 01:01 | ytp | |
png |
utility_class2.png | 6.4 kB | 2 | 01-7-2011 01:02 | ytp | |
png |
utility_class3.png | 8.3 kB | 2 | 01-7-2011 01:02 | ytp | |
png |
utility_class4.png | 4.3 kB | 1 | 02-7-2011 01:24 | ytp | |
png |
utility_class5.png | 4.5 kB | 2 | 02-7-2011 02:07 | ytp | |
png |
utility_class6.png | 30.7 kB | 1 | 05-7-2011 02:05 | ytp | |
png |
utility_class7.png | 9.6 kB | 5 | 31-12-2011 20:50 | ytp | |
png |
utility_class8.png | 12.3 kB | 5 | 31-12-2011 20:50 | ytp | |
png |
utility_class9.png | 7.4 kB | 1 | 22-7-2011 03:29 | ytp |
«
This particular version was published on 28-6-2011 01:33 by ytp.