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