0

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

parentView
childView1 extends parentView
childView2 extends parentView

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

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

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

PS:用PHP开发

4

1 回答 1

1

这看起来是扩展类的不好方法,并且层次结构没有任何意义。

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

在我看来,拥有一个每个视图都扩展的抽象类会更有意义。然后让编辑器再次扩展视图。然后编辑器以一种更适合 OOP 的方式连接到视图。

于 2013-07-03T07:07:54.293 回答