将对象拆分为“视图”和“编辑器”

时间:2013-07-03 06:56:41

标签: php oop

通常,我将对象拆分为加载其数据的“视图”,以及从视图继承并可以编辑数据库中的数据的“编辑器”。 我的问题是我有这样的继承结构:

parentView
childView1 extends parentView
childView2 extends parentView

parentEditor extends parentView
childEditor1 extends parentEditor // PROBLEM HERE
childEditor2 extends parentEditor // PROBLEM HERE

显然,childEditors的继承并不是最好的,因为我需要从childViews复制代码。

有更好的解决方案吗? 我确信网上有很多关于这个主题的内容,但我找不到合适的“关键字”来找到它们。

PS:用PHP开发

1 个答案:

答案 0 :(得分:1)

这看起来像是扩展类的一种坏方法,而层次结构没有任何意义。

您说您将代码拆分为视图和编辑器。这很好,但是应该意味着在构建这样的模式时,编辑器中没有使用视图中的代码,反之亦然。

我看到它的方式,有一个每个视图扩展的抽象类会更有意义。然后让编辑器再次扩展视图。然后编辑器以更加OOP的方式连接到视图。