传递接口本身是不好的做法?

时间:2013-06-15 23:42:20

标签: c# oop interface decoupling

通过该接口上的方法将接口传递给自身会被视为不好吗? 对我而言,这似乎是不好的做法,但如果有人可以提供帮助那就太棒了?

一个例子

ISomeInterface someInterface1 = new SomeObject1();
ISomeInterface someInterface2 = new SomeObject2();

var someReturnedValue = someInterface.DoSomeWork(someInterface2);

2 个答案:

答案 0 :(得分:4)

这是一个完全符合我们要求的例子:

public interface ITree
{
    void AddSubTree(ITree subTree);
}

所以是的,你可能需要这样做。

编辑:

要完成,您可能也希望自己使用一个对象:

public class NetworkInterface
{
    public void ConnectTo(NetworkInterface otherInterface)
    {
    }
}

...

NetworkInterface localhost = new NetworkInterface();
localhost.ConnectTo(localhost);

答案 1 :(得分:0)

这取决于你用它做什么。 如果您知道自己在做什么,那么如果您不知道自己在做什么,请尝试创建原型,看看您的设计是否正常工作。

作为一般指南,使用相同的界面本身并不是一个坏习惯。

使用自身内部相同接口的对象的接口的良好示例由复合模式和装饰器模式给出。