这将使得负责创建用户界面的开发小组能更集中精力为一个新设备创建UI而不必理解游戏底层的逻辑。他们能考虑更多的Sprite图像并对用户交互类做出更改,却不必触及游戏的核心类。分离UI可以通过抽象的核心类更容易地实现(例如,在MVC设计模式中,使用抽象的View类和抽象的Controller类)。这就为应用程序的其他模型类提供了一系列标准接口。派生的类负责具体实现;例如,每个ConcreteView类可能对应一个ConcreteController(见图6.4)。

图6.4 使用抽象将UI从引擎中独立出来
这些方法创建了一系列可复用的组件,它们可以在许多设备上实现而避免大规模地重写应用程序。