現在、WPFおよびMVVMライトツールキットを使用してアプリケーションを作成しています。MVVMライトツールキットを使用してViewModelにサービスを注入
私は、このビューモデルを持っている:
public class MainViewModel : ViewModelBase
{
// Instance of service which is used for sending email.
private IEmailService _emailService;
// Get/set instance of service which is used for sending email.
public IEmailService EmailService
{
get
{
return _emailService;
}
set
{
Set("EmailService", ref _emailService, value);
}
}
public MainViewModel()
{
_emailService = new ServiceLocator.Current.GetInstance<IEmailService>();
}
}
メールサービスは、/処理メールを送信処理するサービスです。ユーザーが画面上の要素とやりとりすると、電子メールサービスが呼び出されます(これはServiceLocatorに登録されています)
私の実装がMVVMデザインパターンで正しいかどうかは疑問です。そして、ビューモデル(現在のアプローチは、初期化プロパティの宣言に多くの時間を要する)