【发布时间】:2016-04-03 10:01:49
【问题描述】:
我有一个 JavaScript MVC 设计,使用原型实现,其中不同的项目可以由控制器决定以不同的方式显示。例如,“事件”项可以与视图ViewTabs 或ViewSimple 一起显示。类层次结构:
ViewBase
- ViewTabs
-- EventViewTabs, which implements EventViewTabs.Validate
- ViewSimple
-- EventViewSimple, which implements EventViewSimple.Validate
决定是使用EventViewTabs 还是EventViewSimple 由EventController 完成。我的问题是:我有一个Validate 方法来检查来自Event 视图的输入,但是这个方法对于EventViewTabs 和EventViewSimple 视图是相同的。为了避免重复,我应该把Validate放在哪里?我不能把它放在ViewBase,因为其他项目(例如User)也继承自这个类。
似乎我需要多重继承,但有更聪明的方法吗?我有一种感觉,我忽略了一些明显的东西。
【问题讨论】:
标签: javascript model-view-controller multiple-inheritance prototypal-inheritance