gpt4 book ai didi

c# - 使用界面总是有帮助的?

转载 作者:行者123 更新时间:2023-11-30 19:30:07 25 4
gpt4 key购买 nike

注意:此问题与建议而非问题相关。

我想知道什么时候应该使用界面,什么时候不应该。

为了弄清楚我的问题,我将编写带有和不带接口(interface)的当前实现:

有接口(interface)

interface IObjectBuilder
{
string Build();
}

class ObjectABuilder: IObjectBuilder
{
ObjectABuilder(Object A){}

public string Build();
}

class ObjectBBuilder: IObjectBuilder
{
ObjectBBuilder(Object B){}

public string Build(){}
}

没有接口(interface) 1:

class ObjectABuilder
{
ObjectABuilder(Object A){}

public string Build(){}
}

class ObjectBBuilder
{
ObjectBBuilder(Object B){}

public string Build(){}
}

没有接口(interface) 2:

class ObjectABuilder
{
public string Build(Object A){}
}

class ObjectBBuilder
{

public string Build(Object B){}
}

所以,我想知道,在这种情况下:

  1. 我应该使用界面还是不使用界面?为什么?

  2. 对于using without interface的情况,你觉得用objectA(b)构造类好还是直接在方法中传递好呢?

提前致谢。

最佳答案

您并不总是需要接口(interface)。他们会达到你做的地步,也许你想与另一个模块共享,你宁愿它只依赖于 interface 而不是具体的实现?也许您想测试接口(interface)的实现以进行单元测试?我会说从没有界面开始,直到你能证明你需要它。

对于第二个问题,类中的其他方法是否需要该Object?如果是,那么我会在构造函数中传递它,以便这些方法可以共享该 Object。如果没有,那么我会保留它。

共同的主题是DTSTTCPW

关于c# - 使用界面总是有帮助的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9938859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com