RostD Asked:2020-03-07 15:02:43 +0000 UTC2020-03-07 15:02:43 +0000 UTC 2020-03-07 15:02:43 +0000 UTC 如何正确“减轻”课堂? 772 目前,有一个大类具有相当多的方法和属性。 然而,在程序的不同地方,所有实现的功能都不是一次需要的,并且希望“减轻”类。 我相信可以将主要功能移动到一个通用类中,然后将一个更狭窄的焦点移动到类继承者中。例如: 但是,如果作为一个例外,同时需要两个后代类的功能,则不清楚该怎么做。(在我看来每次编辑一组常用方法都非常耗时) 可以使用特征来扩展功能吗?然而,有些东西让我在特征上感到困惑。 也许有一些最佳实践解决方案? php 1 个回答 Voted Best Answer Sergei Shitikov 2020-03-07T18:53:10Z2020-03-07T18:53:10Z 组合机制非常适合解决这个问题。副手,它可以通过两种方式实现: 1) 使用特征,对于 php >= 5.4。http://php.net/manual/en/language.oop5.traits.php 2)使用使用“装饰器”模式的实现,借助它我们可以将我们需要的功能连接到基本功能。有一个很好的描述这个模式是如何工作的: https://refactoring.guru/en/design-patterns/decorator
组合机制非常适合解决这个问题。副手,它可以通过两种方式实现:
1) 使用特征,对于 php >= 5.4。http://php.net/manual/en/language.oop5.traits.php
2)使用使用“装饰器”模式的实现,借助它我们可以将我们需要的功能连接到基本功能。有一个很好的描述这个模式是如何工作的:
https://refactoring.guru/en/design-patterns/decorator