一点背景知识:我们正在构建一个用于处理科学模型的库/框架。我们有一个接口Model
,它定义了模型必须实现的操作,这是非常小的。即:接口从模型实现者的角度Model
定义了模型的契约。
该框架在模型周围添加了许多其他功能,但现在客户端代码必须通过使用一堆其他类来访问该功能,例如ModelInfo
、ModelHost
、ModelInstance
等。
在我们使用这个框架的应用程序中,我们实际上不想处理所有这些运行模型的机制等。所以我们决定使用外观模式将框架功能包装在一个易于-使用对象。(我们已经将此模式应用到框架的其他部分,并取得了很好的成功。)
问题来了:既然我们已经有了一个 interface Model
,那么这个 façade 类的好名字是什么?Model
接口是框架和模型实现之间 的契约,新类将定义框架和客户端应用程序之间的契约。
或者,更一般地说:当我们有一个库或框架提供的抽象时,我们如何命名抽象的“两侧”,以便清楚地识别抽象的“提供者”和“消费者”接口?
(如果重要的话,对于这个项目,我们使用的是 Java 6。)