Данный метод веб-сервиса:Есть ли смысл в таком рефакторинге?
public void FindSomeEntities(int? Id, string param1, int? param2, ...)
Refactored:
public void FindSomeEntities(SelectionParameters selectionParameters)
class SelectionParameters
{
public int? Id;
public string param1;
public int? param2
...
}
Плюсы:
- слишком много параметров в методе оригинальный веб-сервиса сводится к только один
- если есть необходимо изменить, нам не нужно будет менять интервал между е метода - только определение SelectionParameters
Минусы:
- SelectionParameters класса не любой бизнес-ценность - он используется только в качестве вспомогательного класса и используется в одном методе. В результате у нас будет есть много методов с 1 параметром и много одноразовых классов
- На самом деле интерфейс IS изменен, мы просто немного изменим эти изменения глубже.
Я бы предпочел избегать рефакторинга, так как это ** будет болезненным для будущего в будущем.Когда дело доходит до веб-сервисов, imho больше, более простые (int, string ...) параметры лучше, чем меньше, сложные (пользовательские «контейнерные» классы). – Alex
Вот почему я задал этот вопрос: так как для меня нет смысла это делать, и я пытался убедить своего коллегу – Dima