我想首先说明由于超出此问题范围的原因,无法修改数据库。
话虽如此,问题在于我有 2 个数据库对象(T1、T2),它们具有几乎相同的属性,并且它们共享相同的 UI 代码和业务逻辑。含义取决于 UI 显示 T1 数据或 T2 数据的配置选项。所有用于管理数据的逻辑也是相同的。
我不想要的是让我的应用程序逻辑代码中到处都是instanceof
操作符,并且基本上管理 2 组相同的代码。所以我的解决方案是创建一种将 T1 或 T2 作为构造函数的包装类 (TCombo)。所有的 getter 和 setter 都有类似的设计
public String getProp1() {
if(o instanceof T1) ((T1)o).getProp1();
else(o instanceof T2) ((T2)o).getProp1();
}
并且基本上也遵循设置器,所以当我设置一个值时,数据库对象被正确设置。这样做让我可以使用一组代码并在整个代码中管理这个 TCombo 类,效果很好。问题是效率很糟糕,而且由于我的应用程序处理大型数据集,因此必须为数据集中的每个项目创建这个 TCombo 类会产生可怕的加载时间。
我的问题是:管理这些类的最佳方法是什么,这样我就不必维护 2 组逻辑代码并且也有速度?