Service : Service shouldn't have a static method
DDD
If you have a static method in class which names ends with "Service", the behaviour should be moved into a parameters.
Examples
Example 1:
Negative
Incorrect implementation that violates the practice.
namespace Practices.DDD.Service.Static
{
internal class OrderService
{
public void ProcessOrder(Order order)
{
if (OrderIsValid(order))
{
//Process
}
else
{
//Process Invalid Order
}
}
private static bool OrderIsValid(Order order)
{
//Check order fields
return true;
}
public void ProcessOrder2(Order order, bool orderIsValid)
{
if (orderIsValid)
{
//Process
}
else
{
//Process Invalid Order
}
}
}
}