Допустим, у меня есть давно установленный репозиторий, подобный этому:
interface IDonutRepository
{
public IEnumerable<Donut> GetDonuts();
}
Он существует целую вечность, и метод GetDonuts
делает то, что говорит.Затем однажды мне нужно добавить новый экран, который показывает все пончики в базе данных, и оказывается, что метод имеет скрытую функцию - он отфильтровывает все пончики, где stale = true
.Но на моем новом экране я хочу показать их все, даже устаревшие!Какой здесь лучший подход?
Предполагая, что этот метод используется повсеместно, а поведение по умолчанию должно оставаться прежним, лучше всего добавить новый метод с именем GetAllDonuts
, который невыполнять фильтрацию, или я должен просто добавить параметр onlyFresh
в метод GetDonuts
?
Я предполагаю, что это просто решение, но мне интересно, есть ли какие-либо более информированные ответы изесть