涼の成長記録

自らの人生に主導権を持つべく、独立を目指して2014年3月31日を持ってITエンジニアを退職。そんな23歳♂の成長記録。

いつまで経ってもオブジェクト指向が分からない

アプリケーション初期化の方法

最近オブジェクト指向がほんの少しだけ分かるようになってきて、C++Builderでアプリケーションを開発しているのですが、初期化処理をどこで実装するのかが分かりません。INIファイルを読み込んだり、各種DLLを初期化したり等、結構な数の処理があるのです。


いつもであれば、メインフォームクラスのコンストラクターだったり、スプラッシュスクリーンフォームクラスのコンストラクターだったりで、初期化処理をつらつらと書くのですが、フォームに関係ない処理をフォームクラスに書くのに少し抵抗を覚えました。


で、TApplicationInitializeとかいうクラスを作って、メインフォームクラスのコンストラクターで、このクラスのインスタンスを作って、initialize()メソッドをコールすることで、アプリ初期化処理は全て、TApplicationInitializeクラスにやってもらおうと思ったのです。

こういうの良くないって言われる

私の人生を変えたCODE COMPLETE 第2版(上)には、こう書いています。

■ クラスの名前を動詞にしない


 振る舞いだけで構成され、データを持たないクラスは、実際にはクラスでないことが多い。DatabaseInitializationやStringBuilderといったクラスは、ほかのクラスのメンバルーチンにすることを検討する。


WEBで調べても、やっぱりよくないようです。
REAES - オブジェクト指向の前に

□変数名、クラス名は<<必ず名詞>>であること。
 (但しBoolean型はisXXXXとisで始めること)


 もしクラス名が動詞になった場合は
 そのクラスは「処理」をクラスという形にまとめただけで
 オブジェクト指向の真似事をしただけ。


じゃあ、どうしたらいいのさ!!


誰か助けてください。。