Немного предыстории: мы создаем библиотеку / фреймворк для работы с научными моделями. У нас есть интерфейс Model
, который определяет операции, которые должна выполнять модель, что является довольно минимальным. То есть: интерфейс Model
определяет контракт модели с точки зрения разработчика модели .
Фреймворк добавляет кучу других функций в модель, но сейчас клиентский код должен получить доступ к этим функциям, используя кучу других классов, таких как ModelInfo
, ModelHost
, ModelInstance
и т. Д.
В нашем приложении, которое использует эту платформу, мы не хотим фактически иметь дело со всем этим механизмом запуска моделей и т. Д. Поэтому мы решили использовать шаблон фасада , чтобы завершить функциональность фреймворка в простом в использовании объекте. (Мы уже применили этот шаблон к другим частям фреймворка с хорошим успехом.)
Вот вопрос: учитывая, что у нас уже есть интерфейс Model
, , что было бы хорошим названием для класса фасада? Интерфейс Model
- это контракт между платформой и модель реализации , а новый класс будет определять контракт между платформой и клиентским приложением .
Или, в более общем плане: когда у нас есть абстракция, предоставляемая библиотекой или инфраструктурой, как мы можем назвать «две стороны» абстракции, чтобы четко идентифицировать интерфейсы «провайдера» и «потребителя» для абстракция ?
(Если это имеет значение, для этого проекта мы используем Java 6.)