多实体扩展

php oop architecture modularity conceptual

27 观看

1回复

337 作者的声誉

想象一下,我有一个定义实体的类,例如Product

我的框架由可切换模块构成,因此某些模块可以扩展默认类,即:

  • Module1 让我定义一个 ColoredProduct
  • Module2 让我定义一个 ShapedProduct

我如何定义之间的关系ColoredProductShapedProductProduct?如何确保可以建立动态关系(在没有代码干预的情况下切换一个或另一个)?

我会扩展课堂产品吗?我在每个子类上都引用它吗?

我正在使用PHP。感谢您的输入。

作者: repptilia 的来源 发布者: 2016 年 3 月 4 日

回应 (1)


0

1065 作者的声誉

听起来您正在寻找类层次结构:

  • Product 是超类
  • ColoredProductShapedProduct是子类。

您不需要其他代码,因为子类继承了Product超类的方法和属性。

根据实现模块的方式,也可以使用接口或特征来解决。

如果您的问题更多是与设计相关的应用程序模块有关,那么您可能会感兴趣:在面向对象的范式中,松散耦合和紧密耦合之间有什么区别?

关于如何在PHP中设计独立模块的一个很好的例子,您必须查看Yii2 Framework中的模块

作者: WeSee 发布者: 04.03.2016 09:04
32x32