Фабричный шаблон: Как получить доступ к свойствам конкретных классов продуктов от клиента? - PullRequest
0 голосов
/ 18 октября 2019

Я рассматриваю возможность использования Factory Pattern для создания объектов в веб-приложении, но я не могу понять, как мне получить доступ к свойствам этих объектов.

Упрощенный пример: у меня есть CarFactoryИнтерфейс, реализованный двумя конкретными классами TruckCarFactory и PickupCarFactory, а также интерфейс Car, реализованный конкретными классами Pickup и Truck. Теперь, когда я создаю новый Грузовик, мой клиент обращается к интерфейсу CarFactory для создания нового Автомобиля.

Однако у объектов Грузовиков должно быть много свойств, которые я обычно имел бы как частные члены с получателями / установщиками в Грузовике. класс.

Как лучше всего получить доступ к этим свойствам из моего клиентского кода? Должен ли я действительно поместить все методы получения / установки в интерфейс CarFactory? Если это так, это будет означать, что объект Trck и Pickup должен иметь одинаковый набор свойств?

1 Ответ

0 голосов
/ 18 октября 2019

Геттеры и сеттеры должны быть в интерфейсе Car, и да ... лучшие практики Truck и Pickup должны иметь одинаковый набор свойств. Они могут иметь дополнительные свойства за пределами реализации автомобиля, но вещь, которая вытаскивает пикап / грузовик с завода, должна быть независимой от них.

...