Недавно кто-то заявил, что он считает, что все Creates должны быть CreateOrUpdates. Инстинктивно я думал плохо, но теперь я пытаюсь выяснить, есть ли у меня какие-либо основания.
Положение
interface IService{
void Create(Object a);
void Update(Object a);
}
или
interface IService{
void CreateOrUpdate(Object a);
}
Моя первая мысль: если вы реализовали все CreateOrUpdate, то у вас нет контроля, если кто-то случайно отправит вам неправильные данные, или возникнут проблемы с параллелизмом, когда кто-то изменяет «основное» поле прямо перед вызовом update ....
Но если вы удалите эти случаи, есть ли другие минусы?