Вы уже ответили на вопрос самостоятельно.При удалении отдельного клиента вы звоните:
customerService.DeleteCustomer(item);
Это указывает на то, что вы передаете элементы, подлежащие удалению, обратно в службу (что на самом деле является абстракцией определенного способа работы с клиентами), Вы четко указываете, что служба лучше всех знает, как выполнить эту операцию.
С этой целью удаление нескольких клиентов должно быть аналогично последнему варианту:
customerService.DeleteCustomers(SelectedCustomers);
Вы получаете несколько преимуществ здесь:
- Вы снова подтверждаете, что служба лучше знает, как выполнить эту операцию.Возможно, служба (или все, что она абстрагирует) может оптимизировать пакетную операцию способами, которые недоступны или не очевидны потребителям службы.
- Если это вызов службы / WS / SOA, то лучшие практики указывают начто вам следует предпочитать меньше "коротких" звонков, чем частых легких звонков.