从非静态/共享方法调用静态/共享方法,好还是坏?

时间:2014-05-02 19:48:48

标签: .net vb.net oop class-design

让我们说比如我有一个班级设置如下:

Class Foo
    Private instanceVariable As Integer = 2

    Public Shared Function Bar(ByVal localVariable as Integer) As Integer
        Return localVariable * 2
    End Function

    Public Function Bar() As Integer
        Return Bar(instanceVariable)
    End Function
End Class

我有一个希望相对简单的问题。这个好设计还是不受欢迎?为什么呢?

编辑:
在一些评论之后,我改进了我所要求的内容。

本身是不是很糟糕?或者它是完美的,但是就像它可以被滥用的一切一样?

1 个答案:

答案 0 :(得分:2)

本身,这种做法不错。代码的意图将决定您的设计选择是否合适。当你考虑它时,这几乎适用于所有已知的编码模式。您可能已经问过使用泛型类型或多线程是否是良好实践,答案是否相同。

.NET框架中有非静态类确实使用共享方法,并且在它们自己的上下文中它非常有意义。仅此一点就可以让你认为它根本不是一个坏习惯。

你所要做的只是质疑你自己想要做什么,以及在静态环境中是否有意义。