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