образец веса в полете подходит, когда «многие объекты должны манипулироваться, и они не могут позволить себе иметь посторонние данные». В Java объекты String управляются как легковесные. Java помещает все фиксированные литералы String в пул литералов. Для избыточных литералов Java хранит только одну копию в пуле.
Ключом к созданию навесного веса является управление экземплярами объекта с использованием заводского метода или шаблона конструктора. Задача фабричного метода - просто создавать объекты: при заданных критериях ввода возвращать объект соответствующего типа.
Абстрактная фабрика похожа на конструктор в том, что она также может создавать сложные объекты. Основное отличие состоит в том, что шаблон Builder фокусируется на пошаговом построении сложного объекта. Акцент абстрактного фактора делается на семействах объектов товара (простых или сложных).