Ho un numero di operazioni che devono essere eseguite, in serie, sullo stesso set di dati. Mentre le operazioni procedono, le operazioni successive richiedono informazioni dalle operazioni precedenti. Quindi l'oggetto iniziale è passato al primo metodo a palle di neve mentre raccoglie risultati e metadati.
All'inizio stavo passando in giro sia una richiesta che una risposta, ma questo mi ha dipinto in un angolo un paio di volte. Quindi, ora quello che intendo fare è avere un oggetto parametrico che contiene tutti i dati iniziali, ricorda i valori provvisori e fornisce i risultati finali, il tutto all'interno di un singolo oggetto che viene passato a molti metodi void.
Le mie domande: si tratta di uno schema? O è questa brutta forma?
Il mio esempio inventato è qui sotto.
class Program
{
static void Main()
{
var MyObj = new RequestResponseInfo();
MyObj.InitalValue = "fo";
foobar.DoStuff(MyObj);
Console.WriteLine(MyObj.FinalAnswer);
Console.ReadKey();
}
}
public static class foobar
{
public static void DoStuff(RequestResponseInfo myObj)
{
DoSomething_A(myObj);
DoSomething_B(myObj);
myObj.FinalAnswer = myObj.A + myObj.B;
}
private static void DoSomething_A(RequestResponseInfo myObj)
{
myObj.A = myObj.InitalValue + "ob";
}
private static void DoSomething_B(RequestResponseInfo myObj)
{
myObj.B = "ar";
}
}
public class RequestResponseInfo
{
public string InitalValue { get; set; }
public string A { get; set; }
public string B { get; set; }
public string FinalAnswer { get; set; }
}