【发布时间】:2017-01-14 20:31:38
【问题描述】:
我有一个updateGUI 方法可以接收两个不同的对象,object1 或object2 可用于更新两个不同的视图view1 或view2。
view1 和view2 是抽象类ViewSuper 的子类,工厂类创建相应的视图。每个view 都有自己的方法initialize 和update 的实现。
public void updateGUI(Object object){
GUIFactory viewFactory = new GUIFactory(object);
ViewSuper view = viewFactory.getView();
view.initialize();
view.update();
}
现在我的问题是,我应该在ViewSuper 类中创建initialize 和update 两个抽象方法,还是使用这些方法创建一个单独的interface 并让ViewSuper 实现这个接口?
我很困惑,因为这两种方法似乎都特定于视图层次结构,但同时它定义了一般功能,即接口(根据我的理解)的用途。
如果答案是使用抽象方法,请提供一个示例,我可以将上述功能用作接口。
【问题讨论】:
-
GUIFactory如何处理普通的Object?传递Objects 是一种代码味道。
标签: java oop design-patterns interface abstract-class