工厂模式:如何从客户端访问具体产品 类 的属性?

Factory Pattern: How to access properties of concrete product classes from client?

我正在考虑使用 Factory Pattern 在 Web 应用程序中创建对象,但我未能掌握的是如何访问这些对象的属性。

简化示例:我有一个 CarFactory 接口,由两个具体的 classes TruckCarFactory 和 PickupCarFactory 实现,还有一个由具体的 Pickup 和 Truck classes 实现的 Car 接口。 现在,在创建新卡车时,我的客户会与 CarFactory 界面对话以创建新汽车。

然而,Truck 对象应该有很多属性,我通常会在 Truck class 中作为私有成员拥有这些属性 getters/setters。

如何最好地从我的客户端代码访问这些属性?我真的应该将所有 getters/setters 都放入 CarFactory 界面吗?如果是这样,这是否意味着 Trck 和 Pickup 对象必须具有相同的属性集?

Getter 和 setter 应该在 Car 界面中,是的...最佳实践明智的 Truck 和 Pickup 应该具有相同的属性集。它们可以在汽车实现之外具有其他属性,但是从工厂中拉出 pickup/truck 的东西应该与这些无关。