INeedSomething的更好名字..
本文关键字:更好 INeedSomething | 更新日期: 2023-09-27 17:55:47
我正在尝试为接口选择一个名称,通过该名称可以将某些内容传递到对象中,例如:
- 如果对象是 INeedX,则将调用 SetX(某些 x) 方法;
- 如果对象是 INeedY,则将调用 SetY(一些 y) 方法;
- 等等。(有趣得要命,我知道:))
我试图为这种接口找到一个不同的名称,但我无法弄清楚。
有没有人知道如何命名INeedSomething接口?
您的接口的名称 IDependsOn 怎么样(又名。IDependsOnUserId, IDependsOnTimeOut)
嗯,INeed
界面可能表明设计笨拙。在我看来,您真正要寻找的是依赖注入,这相当于声明一个对象需要另一个对象才能运行的代码。所以而不是有
class Car:INeed<Engine> {
public Set(Engine engine)
}
,也许你真正想要的是
class Car {
public Car(Engine engine)
}
如果我是你,我会尝试看看上述内容是否适用于你的情况,这是一种更标准的声明需求/依赖关系的方式
public interface INeed<T>
{
public T SetValue { set; }
}
通过使用泛型,稍后将定义接口传递的类型,如下所示:
class Needy : INeed<int>
{
private int internalValue;
public int SetValue { set {
internalValue = value;
} };
}
IRequire 听起来更好,但是,为此使用界面似乎是错误的。
请改用属性:
class MyClass
{
[Required]
double X
{
get;
set;
}
}