我有两个类,一个负责从数据库中获取数据(已经实现),另一个负责从文件中获取数据(现在正在实现)。这里的事情是我希望能够切换流式传输(数据库或文件)。检查是数据库还是文件的过程只需要一次。因此,对于类中的每个方法,我不想每次都检查调用该方法时应该使用什么。现在,我执行以下操作:
if(IsDataBaseStream())
Database::execQuery("SELECT * from table");
else //is FileStream
File::GetAllFrom("Table");
这很丑陋。我拒绝这样做。我考虑过回调,但这在不同的类之间不起作用。
有没有办法不浪费这样的处理器工作?
提前致谢