我已经用Java和C#制作了一个类,可以执行SQL查询,例如,我有一个名为Delete的方法,该方法接受多个参数。
public static int Delete(String table, String column, String operand, Object value)
我将 _值_作为对象类型,因为我可能想删除基于String,Integers或booleans的行,这意味着该方法足够灵活以支持不同的类型。我然后追加附加“ ‘ ”,这取决于它是否是一个字符串或不通过使用字符到查询 的instanceof (在C#或.GetType)在Java测试
粗略的例子:
if (value instanceof String) { System.out.println("It's a String"); } else { System.out.println("It's not a String"); }
在实现该类的其余部分时,我开始考虑前面提到的方法是否是理想的方法,还是应该针对特定的数据类型实现其他方法,一种用于容纳String,另一种用于Integer,依此类推。
如果我要实现这一点,那么这意味着将存在逻辑上具有最小差异的其他方法,但是每种方法只有一个目的,使得它们易于遵循和记录。另一方面,如果我按原样进行操作,则可以生成和维护的代码要少得多,它可以管理任何类型的Delete语句(就数据类型而言),并且只需要几个if语句。确定通过参数传递的对象的类型。
从面向对象/最佳代码实践的角度来看,哪种方法最好?
谢谢提供信息!
两者都不。
你说的没错;您应该将其保存在一个方法中。 在C#中,有时使此类方法通用是有用的。