Шаблон фабричного дизайна: Может ли фабрика хранить экземпляры? - PullRequest
2 голосов
/ 16 марта 2011

Мне нужно создать несколько экземпляров одного и того же класса, для которого было решено использовать фабричный шаблон.Нам нужно предоставить возможности запросов к экземплярам, ​​созданным на фабрике.

Таким образом, согласно стандартам фабричного образца, фабрика может содержать объекты, которые она создала?или мне нужно создать другой компонент, который позволит запрашивать эти экземпляры?

Ответы [ 2 ]

6 голосов
/ 16 марта 2011

Это, конечно, МОЖЕТ содержать объект, который он создал, но это будет означать, что у фабрики есть две обязанности. Было бы лучше, если бы вы создали класс repository , который отвечает за хранение ссылок на созданные объекты. Класс репозитория также может использовать фабрику для создания новых экземпляров, если у него еще нет объекта с таким идентификатором.

0 голосов
/ 16 марта 2011

Как правило, владелец ваших объектов должен выполнять задачи, связанные с освобождением или освобождением ресурсов, выделяемых объектами, которые он создает.

В вашем примере, это фабричный класс (или любой другой шаблон, который вы выберете), который будет выполнять эти задачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...