Al momento stiamo svolgendo un dibattito interno su come strutturare le nostre classi di business logic. Al momento strutturiamo le nostre classi di business in questo modo:
public class OrderBL
{
public void CreateOrder(OrderDTO order)
{
//save order
//send email
}
public void CancelOrder(OrderDTO order)
{
//save order
//send email
}
public void MarkOrderAsDispatched(OrderDTO order)
{
//save order
//send email
}
//other private methods too
}
Usando il nostro metodo attuale sopra, troviamo che le classi crescono molto rapidamente e possono diventare confuse sui grandi progetti.
C'è qualche dibattito sul fatto che dovremmo cambiare le nostre classi di business per assomigliare al seguente:
public class CreateOrderBL
{
public void RunLogic(OrderDTO order)
{
CreateOrder();
SendEmail();
}
private voide CreateOrder()
{
}
private void SendEmail()
{
}
}
Il vantaggio di avere questo è che le classi sono più facili da capire e sono piccole, tuttavia lo svantaggio è che il numero di classi aumenta.
Qual è il modo corretto per avvicinarsi a questo?