通过该接口上的方法将接口传递给自身会被认为是不好的吗?对我来说,这似乎是不好的做法,但如果有人可以提供帮助,那会很棒吗?
一个例子
ISomeInterface someInterface1 = new SomeObject1();
ISomeInterface someInterface2 = new SomeObject2();
var someReturnedValue = someInterface.DoSomeWork(someInterface2);
通过该接口上的方法将接口传递给自身会被认为是不好的吗?对我来说,这似乎是不好的做法,但如果有人可以提供帮助,那会很棒吗?
一个例子
ISomeInterface someInterface1 = new SomeObject1();
ISomeInterface someInterface2 = new SomeObject2();
var someReturnedValue = someInterface.DoSomeWork(someInterface2);
这是一个完全符合我们要求的示例:
public interface ITree
{
void AddSubTree(ITree subTree);
}
所以是的,你可能需要这样做。
编辑:
为了完整起见,您可能还想将对象与自身一起使用:
public class NetworkInterface
{
public void ConnectTo(NetworkInterface otherInterface)
{
}
}
...
NetworkInterface localhost = new NetworkInterface();
localhost.ConnectTo(localhost);
这取决于你用它做什么。如果您知道自己在做什么,那很好,如果您不知道自己在做什么,请尝试创建原型,看看您的设计是否有效。
作为一般准则,在其内部使用相同的界面并不是一个坏习惯。
复合模式和装饰器模式给出了在自身内部使用相同接口对象的接口的好例子。