减少项目依赖性

时间:2015-09-05 14:01:18

标签: c# mvvm

我对我的项目设置并不满意,所以我希望你能给我一些提示来改进它。

我现在在Blank Solution中有以下项目:

* Model (Portable Class Library)
* ViewModel (Portable Class Library)
* DataAccess (Class Library) because of using Entity Framework 6
* App.WPF (WPF-Application for Desktop)

在我的DataAcces项目中,我有一个界面' IRepository'和实施' EFRepo'它实现了' IRepository'。 ViewModel项目中的PersonViewModel' -class通过构造函数依赖注入获取DataAccess:

public  PersonViewModel(IRepository dal){...}

如果我想在我的' App.WPF'中实例化DataContext。项目:

public MainWindow()
{
    InitializeComponent();
    DataContext = new PersonViewModel();
}

我的MainWindow在' App.WPF'需要参考这些项目:

* Model
* ViewModel
* DataAccess

我认为这很重要。 View(App.WPF)应该只知道ViewModel,对吗?我怎样才能做到这一点?

我试图创建一个共享项目'称为接口和另一个名为' Implementation'在哪里我放了EFRepo IRepository的实现。但是我必须从DataContext项目公开和类库'实施'也必须参考DataAccess ......

总而言之,我很困惑如何以可接受的方式处理它。我想将ViewModel用作桌面(WPF),Silverlight和Windows Phone应用程序用于教育目的,这就是我试图保持一切独立的原因。

我使用Visual Studio 2015社区版

0 个答案:

没有答案