Ci siamo spostati su un modello SRP in più e abbiamo scoperto che i nomi delle classi erano difficili. Precedentemente avevamo una classe Order simile a questa:
public class Order
{
public void Create()
{
}
public void Dispatch()
{
}
public void Cancel()
{
}
}
Ora stiamo suddividendo questi 3 metodi in classi separate in modo che assomiglino a ciò che ho descritto di seguito:
public class OrderCreation
{
public void CreateOrder(OrderDTO order)
{
}
}
public class OrderDispatch
{
public void DispatchOrder(OrderDTO order)
{
}
}
public class OrderCancellation
{
public void CancelOrder(OrderDTO order)
{
}
}
La denominazione di queste classi e dei metodi pubblici è ragionevole? Seguono quale dovrebbe essere la denominazione in una business logic o in una classe di dominio? (Ricorda che stiamo seguendo SRP)
UPDATE: Le classi sono state modificate in modo da non essere anemiche. Sulla base del feedback riteniamo che questa sia una soluzione migliore.
public class OrderCreation
{
public string CustomerName {get;set;}
public string CustomerEmail {get;set;}
public string Address {get;set;}
public void CreateOrder()
{
}
}
public class OrderDispatch
{
public string OrderNumber {get;set;}
public string Courier {get;set;}
public void DispatchOrder()
{
}
}
public class OrderCancellation
{
public string OrderNumber {get;set;}
public void CancelOrder()
{
}
}