Сейчас многие библиотеки реализуют так называемые fluent builder’ы, то есть дают возможность пользователю создавать объекты через более предсказуемый и документированный интерфейс, чем просто массивно перегруженные конструкторы.
Такой способ позволяет лучше контролировать процесс создания объектов, предупреждать ошибки, проще документировать шаги инициализации, производить валидацию и в целом лучше “выказывать намерения” в плане используемости API.
Например:
Person me = Person.Create().Lives.At("123 London Road").WithPostCode("SO17 1BJ").In("Southampton").Works.At("CRSI").AsA("VisitingResearcher").Earning(12345);Вообщем, почитайте тут.
1 комментарий:
Название стремное
Отправить комментарий