O Injetor Simples injeta várias dependências no BaseClass

eu tenho umBaseViewModel que é herdado por váriosViewModel aulas. No meuBaseViewModel Eu tenho algumas dependências que são injetadas deViewModel. Agora, se eu precisar adicionar uma nova dependência no meuBaseViewModel Eu preciso mudar toda a VM que herdaBaseViewModel. Por favor, deixe-me saber como ele pode ser tratado no Simple Injector. A seguir está minha estrutura de código:

Como posso tornar minha injeção de classe base independente para não precisar fazer alterações em toda a minha classe herdada?

Código:

public class BaseViewModel
{
    protected readonly IAESEnDecrypt AESEnDecrypt;
    protected readonly IDataService DataService;
    protected readonly INavigationService NavigateToPage;
    public BaseViewModel(INavigationService nav, IDataService data, IAESEnDecrypt encrypt)
    {
        AESEnDecrypt= encrypt;
        NavigateToPage = nav;
        DataService = data;
    }
}


public class ViewModel
{
   public ViewModel(INavigationService nav, IDataService data, IAESEnDecrypt encrypt) : base (nav, data, encrypt)
   {

   }
}

My BaseViewModel Contém algumas das seguintes interfaces cuja implementação é injetada através do construtor:

- NavigationService
- DataService
- GeoLocationService
- SmartDispatcher
- MessageBus which implement Message Aggregator

Ele também contém algumas propriedades comuns como variáveis estáticas cujos dados são usados em todo o aplicativo, como UserDetails. E também contém CancellationToken, IsBusy para exibir a barra de progresso.

BaseViewModel também contém o método HandleException, que lida com todas as exceções recebidas de todos os ViewModel. Também contém alguns comandos comuns que são usados em todas as visualizações, como Si gnoutCommand, NavigationBar Commands.

Na verdade, ele começou a conter todos os tipos de métodos comuns usados entre vários ViewModel.

Sugira como posso refatorar esse código?

questionAnswers(3)

yourAnswerToTheQuestion