Il nostro architetto ha parlato dell'utilizzo di tecniche SOA attraverso il nostro codebase, anche su interfacce che non sono effettivamente ospitate come servizio. Una delle sue richieste è che progettiamo i nostri metodi di interfaccia in modo da non fare ipotesi sull'attuale implementazione. Quindi, se abbiamo un metodo che accetta un oggetto e ha bisogno di aggiornare una proprietà su quell'oggetto, abbiamo esplicitamente bisogno di restituire l'oggetto dal metodo. Altrimenti ci faremo affidamento sul fatto che Something è un tipo di riferimento e C# ci consente di aggiornare le proprietà su un tipo di riferimento per impostazione predefinita.Utilizzo di principi SOA su OOD in codice non-service
Quindi:
public void SaveSomething(Something something)
{
//save to database
something.SomethingID = 42;
}
diventa:
public Something SaveSomething(Something something)
{
//save to database
return new Something
{
//all properties here including new primary key from db
};
}
non posso davvero ottenere la mia testa intorno i vantaggi di questo approccio e chiedevo se qualcuno potrebbe aiutare?
È un approccio comune?