Attualmente ho implementato un metodo in un modello per scattare una schermata simile a E.G.
Interfaccia
public interface ICapture {
void CaptureMethod();
}
Questo è il modello che implementa quell'interfaccia
public class CaptureModel : ICapture {
void CaptureMethod(){ //implement the code to take screen shot }
}
Ora voglio eseguire una schermata su uno o più modelli di visualizzazione, quindi avrei bisogno di istanziare e chiamare la funzione in questo modo.
public ViewModel(){
void TakeScreenShotMethodOrCommandDontCare(){
ICapture captureClass = new CaptureClass();
captureClass.captureMethod
}
}
Che ritiene SBAGLIATO dover istanziare un'istanza di un oggetto per chiamare una funzione che effettuerà uno screenshot.
Suppongo che potrei entrare nel modello di visualizzazione e avere il metodo di cattura dello screenshot, ma che porterebbe alla duplicazione del codice in tutti i modelli di vista con quella caratteristica.
Forse una classe di utilità statica, ma sicuramente sarebbe costosa sull'app.
Credo che se avessi un'interfaccia implementata da una classe base, il mio modello di visualizzazione potrebbe ereditare da quella classe base e implementare l'implementazione di base su qualsiasi modello di vista che desidero.
Quindi, per riassumere la mia domanda, se volessi implementare un metodo che catturasse schermate e ti piacesse mvvm, allora dove implementeresti?