Вот некоторый код, который использует класс параметров для хранения возможных параметров метода Show()
. Значения в этом классе FooOption
не очень связаны. Вы можете убедиться в этом, взглянув на реализацию Show()
ниже. Я знаю, что это плохой код, но есть ли какие-либо антишаблоны, связанные с этим?
class FooOptions {
public int? Id { get; set; }
public string BazContext { get; set; }
public int? BazId { get; set; }
}
class BarMgr {
public Bar Show(FooOptions options) {
if (options == null)
options = new FooOptions();
if (options.Id.HasValue)
return svc.GetBar(options.Id.Value);
if (!string.IsNullOrEmpty(options.BazContext) && options.BazId.HasValue)
return svc.GetBar(options.BazContext, options.BazId.Value);
return null;
}
}
Обновление: я знаю, что объекты параметров не являются анти-шаблоном. По моему опыту, свойства объекта параметра связаны между собой. Это возможный анти-шаблон, который я пытаюсь найти. установка всех трех свойств не имеет смысла.