我有一个朋友,在用Java语言开发了很长时间之后,他刚刚进入.NET开发领域,在看了他的一些代码后,我注意到他经常做以下事情:
IDictionary<string, MyClass> dictionary = new Dictionary<string, MyClass>();他将字典声明为接口,而不是类。通常,我会执行以下操作:
Dictionary<string, MyClass> dictionary = new Dictionary<string, MyClass>();我只在需要时使用IDictionary接口(例如,将字典传递给接受IDictionary接口的方法)。
我的问题是,他的做法有什么可取之处吗?这在Java中是常见的做法吗?
发布于 2009-10-20 15:36:41
据我所知,Java开发人员比.NET开发人员更倾向于使用抽象(和设计模式)。这似乎是另一个例子:当他本质上只使用接口成员时,为什么要声明具体的类?
https://stackoverflow.com/questions/1595498
复制相似问题