通常,我将对象拆分为加载其数据的“视图”,以及从视图继承并可以编辑数据库中的数据的“编辑器”。 我的问题是我有这样的继承结构:
parentView
childView1 extends parentView
childView2 extends parentView
parentEditor extends parentView
childEditor1 extends parentEditor // PROBLEM HERE
childEditor2 extends parentEditor // PROBLEM HERE
显然,childEditors的继承并不是最好的,因为我需要从childViews复制代码。
有更好的解决方案吗? 我确信网上有很多关于这个主题的内容,但我找不到合适的“关键字”来找到它们。
PS:用PHP开发
答案 0 :(得分:1)
这看起来像是扩展类的一种坏方法,而层次结构没有任何意义。
您说您将代码拆分为视图和编辑器。这很好,但是应该意味着在构建这样的模式时,编辑器中没有使用视图中的代码,反之亦然。
我看到它的方式,有一个每个视图扩展的抽象类会更有意义。然后让编辑器再次扩展视图。然后编辑器以更加OOP的方式连接到视图。