一个小小的背景:我们正在为使用科学模型建立一个库/框架。我们有一个接口Model,它定义了模型必须实现的操作,这是非常小的。也就是说:Model接口从模型实现者的角度定义模型的契约。
该框架在模型周围添加了许多其他功能,但是现在客户端代码必须使用一些其他类来访问该功能,如ModelInfo、ModelHost、ModelInstance等。
在我们使用该框架的应用程序中,我们不想实际处理所有这些运行模型的机制,所以我们决定使用façade pattern将框架功能封装在一个易于使用的对象中。(我们已经将此模式应用于框架的其他部分,并取得了良好的效果。)
问题是:考虑到我们已经有了一个接口Model,,那么fa类的好名称是什么? Model接口是框架和模型实现之间的契约,而新的类将定义框架和客户端应用程序之间的契约。
或者,更一般地说:当我们有一个库或框架提供的抽象时,如何命名抽象的“两面”,以便清楚地识别抽象的“提供者”和“使用者”接口。
(如果重要的话,对于这个项目,我们使用的是Java 6。)
发布于 2011-07-18 18:22:23
我知道这听起来很老套但是..。您考虑过使用"ModelFacade“作为facade类的类名吗?我认为,在文档中,该接口已经命名为Model,这看起来相对简单,并且非常清楚您使用的是哪种设计模式。
发布于 2011-07-18 18:25:37
供应商和消费者呢?我想你是在你的问题中自己说的。也许生产者和*消费者是一个更好的匹配?
发布于 2011-07-18 19:22:13
在我们团队的讨论中,提出了另一个选项:我们可以将现有的Model接口重命名为其他东西,只需调用新的外观Model即可。事实上,它们现在都可以被称为Model,因为它们将生活在单独的包中。(虽然我不喜欢不同名称空间中的同名类。)
https://stackoverflow.com/questions/6737423
复制相似问题