У меня такая ситуация. Есть методы, которые условно принимают один аргумент и что-то делают. Например:
Код: Выделить всё
public Task SomeOperation(string name)
{
var user = await _context.Users.FirstOrDefaultAsync(...);
var anotherUser = await _context.Users.FirstOrDefaultAsync(...);
/// more logig
}
Теперь мне нужно сделать метод, который будет принимать что-то в качестве второго параметра, и в зависимости от этого логика будет совсем немного меняться.
Код: Выделить всё
public Task SomeOperation(string name, string conString)
{
var context = _service.CreateContext(conString);
var user = await context.Users.FirstOrDefaultAsync(...);
var anotherUser = await context.Users.FirstOrDefaultAsync(...);
/// more logig
}
Логика практически не меняется. А если перегрузить методы в сервисах, то немного меняется, и общая логика копируется. Оказывается в сервисе много повторяющегося кода. Что мне делать в такой ситуации? Должен ли я поместить логику в частный метод? Или передайте этим методам второй параметр по умолчанию, нулевой, и внутри условия. Есть ли какие-нибудь закономерности? (Методы службы).
Подробнее здесь:
https://stackoverflow.com/questions/790 ... ed-methods