在系统中,我有一个用于视图的接口IVIew
和一个明确的实现TextView
。 TextView还实现了观察者接口,因此可以根据模型中的更改进行更新。因此,现在我可以在需要非显式视图的任何地方使用IView
了。这可能是一个拥有IView
或抽象工厂的Controller,用于独立于平台的视图。
因此,现在我对接口在这里是否有意义感到困惑。除了像init()或setModel()这样的方法声明之外,不会有其他功能可以调用,因为View从模型中隐式获取更新。我还考虑过将IView做成一个抽象类,并用每个View应该知道的成员来实现Observer。
有什么建议么?
最佳答案
由于按定义定义的视图需要使用MV *模式的来自不同数据源的数据,因此我将IView
扩展为Oberserver
。这为更改提供了足够的灵活性,并且控制器可以针对易于扩展的通用视图进行对话。