私は2つのクラスを持っています。1つはデータベースからデータを取得するすべての作業を行い(すでに実装されています)、もう1つはファイルからデータを取得します(現在実装中)。ここで重要なのは、ストリーミング (データベースまたはファイル) を切り替えられるようにしたいということです。データベースかファイルかをチェックするプロセスは一度だけ必要です。したがって、クラスの各メソッドについて、このメソッドが呼び出されたときに何を使用する必要があるかを毎回確認したくありません。今のところ、私は次のようにします:
if(IsDataBaseStream())
Database::execQuery("SELECT * from table");
else //is FileStream
File::GetAllFrom("Table");
これは醜いです。私はこれを拒否しています。コールバックについて考えましたが、それは異なるクラス間では機能しません。
そのようなプロセッサの作業を無駄にしない方法はありますか?
前もって感謝します