Какой из следующих паттернов лучше всего подходит для создания объектов с разными конфигурациями в зависимости от входных данных?