У меня есть вызовы методов, которые принимают разные входные данные, например:
public Authors GetAuthors(string name, string sortBy, string sortDir, int startRow, int numRow)
{
// Get authors based on filters
}
public Books GetBooks(string id, string year, string sortBy, string sorDir, int startRow, int numRow)
{
// Get books based on filters
}
Я планирую изменить его так, чтобы фильтры были объектами, например:
public Authors GetAuthors(GetAuthorsFilters filters)
{
// Get authors based on filters
}
public Books GetBooks(GetBooksFilters filters)
{
// Get books based on filters
}
Но многиеФильтры являются общими для всех методов, и я хотел бы создать для этого общий интерфейс (т. е. IFilter
), который может принимать различные объекты фильтра, но не уверен, с чего начать.Любое предложение или рекомендация?
Спасибо.