0

A 类和 B 类都扩展了 C 类,并且 C 类中有一些 A 类和 B 类都需要的常用方法。

有些情况需要从A类调用B类中的方法,目前是通过在A类中创建B类的对象来实现的,但是C类中添加的方法越来越多,效率低下由于重复,在 A 类中创建 B 类的对象。

我的问题是重构类以使其具有更好的结构的可能解决方案是什么,例如使用面向对象、工厂模式等?

提前致谢。

4

2 回答 2

0

您可以使用Traits(仅 PHP >= 5.4.0)。

于 2012-09-28T22:14:09.700 回答
0

如果 A 和 B 所需的方法可以分解为单一职责,那么您可以考虑添加类 D,然后由类 A 和 B 使用。单一职责主体 (SRP) 是 SOLID 中的 S,它是面向对象设计。

您可以在 Google 上找到大量关于 SOLID 的一般信息,以及 SRP 在 PHP 中的应用。我在 SRP 上向我们当地的 PHP 聚会小组做了一个演示,可以在这里在线找到:SRP 演示

于 2012-09-28T22:36:43.547 回答