是还是不是?我可以在不同的程序集中划分接口和实现类吗?

时间:2012-09-02 16:20:49

标签: c# vb.net class interface assemblies

我是编程新手,但我正在尽力学习!

我有一个应用程序,我必须将IView注入我的ViewModel。这意味着IView接口应该位于ViewModel程序集中,而不是View View中,或者我打破MVVM规则,将VM中的引用添加到View程序集。

所以我的问题是:在两个不同的程序集中划分接口和实现类是否荒谬,或者这是正确的方法吗?

非常感谢你们!

2 个答案:

答案 0 :(得分:5)

  

在两个不同的程序集中划分接口和实现类是荒谬的,

不,这很常见。例如,当您的类实现INotifyPropertyChanged时,它就已经发生了。

在WCF中,(推荐)将Service接口放在单独的程序集中(即在仅包含 接口的程序集中)。

答案 1 :(得分:3)

这正是API所包含的内容。您实现的一系列接口,以便与系统进行交互。这就是某些工件(即pluggins)的实现方式。所以这并不荒谬。

正如我看到你在问号标签上放了两种语言,你可以获得.NET的另一个优势。您可以用一种语言声明接口,并在另一种语言中实现它们。