我有一组具有相同功能但逻辑不同的类。但是,每个类函数都可以返回多个对象。将返回类型设置为接口是否安全?
每个类(都使用相同的接口)使用不同的业务逻辑执行此操作。
protected IMessage validateReturnType; <-- This is in an abstract class
public bool IsValid() <-- This is in an abstract class
{
return (validateReturnType.GetType() == typeof(Success));
}
public IMessage Validate()
{
if (name.Length < 5)
{
validateReturnType = new Error("Name must be 5 characters or greater.");
}
else
{
validateReturnType = new Success("Name is valid.");
}
return validateReturnType;
}
单元测试函数的返回类型是否有任何陷阱?另外,为了让它们成功而需要运行功能是否被认为是糟糕的设计?在此示例中,Validate() 必须在 IsValid() 之前运行,否则 IsValid() 将始终返回 false。
谢谢你。