いつまで経ってもオブジェクト指向が分からない
アプリケーション初期化の方法
最近オブジェクト指向がほんの少しだけ分かるようになってきて、C++Builderでアプリケーションを開発しているのですが、初期化処理をどこで実装するのかが分かりません。INIファイルを読み込んだり、各種DLLを初期化したり等、結構な数の処理があるのです。
いつもであれば、メインフォームクラスのコンストラクターだったり、スプラッシュスクリーンフォームクラスのコンストラクターだったりで、初期化処理をつらつらと書くのですが、フォームに関係ない処理をフォームクラスに書くのに少し抵抗を覚えました。
で、TApplicationInitializeとかいうクラスを作って、メインフォームクラスのコンストラクターで、このクラスのインスタンスを作って、initialize()メソッドをコールすることで、アプリ初期化処理は全て、TApplicationInitializeクラスにやってもらおうと思ったのです。
こういうの良くないって言われる
私の人生を変えたCODE COMPLETE 第2版(上)には、こう書いています。
■ クラスの名前を動詞にしない
振る舞いだけで構成され、データを持たないクラスは、実際にはクラスでないことが多い。DatabaseInitializationやStringBuilderといったクラスは、ほかのクラスのメンバルーチンにすることを検討する。
WEBで調べても、やっぱりよくないようです。
REAES - オブジェクト指向の前に
□変数名、クラス名は<<必ず名詞>>であること。
(但しBoolean型はisXXXXとisで始めること)
もしクラス名が動詞になった場合は
そのクラスは「処理」をクラスという形にまとめただけで
オブジェクト指向の真似事をしただけ。
じゃあ、どうしたらいいのさ!!
誰か助けてください。。