Skip to main content

Service : Service shouldn't have a static method

Medium
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
}
}
}
}