在系统中,我有一个用于视图的接口IVIew和一个明确的实现TextView。 TextView还实现了观察者接口,因此可以根据模型中的更改进行更新。因此,现在我可以在需要非显式视图的任何地方使用IView了。这可能是一个拥有IView或抽象工厂的Controller,用于独立于平台的视图。

java - 需要无用的接口(interface)替代方案-LMLPHP

因此,现在我对接口在这里是否有意义感到困惑。除了像init()或setModel()这样的方法声明之外,不会有其他功能可以调用,因为View从模型中隐式获取更新。我还考虑过将IView做成一个抽象类,并用每个View应该知道的成员来实现Observer。
有什么建议么?

最佳答案

由于按定义定义的视图需要使用MV *模式的来自不同数据源的数据,因此我将IView扩展为Oberserver。这为更改提供了足够的灵活性,并且控制器可以针对易于扩展的通用视图进行对话。

08-18 16:14