Публичный интерфейс - Public interface
эта статья нужны дополнительные цитаты для проверка.Ноябрь 2019) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
А публичный интерфейс это логическая точка, в которой взаимодействуют независимые программные объекты. Сущности могут взаимодействовать друг с другом в пределах одного компьютера, в сети или в различных других топологиях. Для продолжения взаимодействия важно, чтобы общедоступные интерфейсы были стабильными и рассчитывались на поддержку будущих изменений, улучшений и устаревания.
дизайн
эта статья содержит инструкции, советы или практические советы.Ноябрь 2019) ( |
Руководство
- Проект должен предоставить дополнительные документы, описывающие планы и процедуры, которые можно использовать для оценки соответствия проекта требованиям.
- Предоставьте архитектурный проектный документ.
- Предоставьте документ стандартов кодирования.
- Предоставьте документ с планом выпуска программного обеспечения.
- Предоставьте документ с планом отказа от устаревших интерфейсов.
- Создавайте полностью изолированные классы.
- Изолируйте общедоступные интерфейсы от зависимостей времени компиляции.
Лучшие практики
- Представьте пользователю полные и последовательные наборы концепций.
- Разрабатывайте интерфейсы для статической типизации.
- Сведите к минимуму зависимости интерфейса от других интерфейсов.
- Экспресс-интерфейсы с точки зрения типов уровня приложения.
- Используйте утверждения только для помощи в разработке и интеграции.
Примеры
- Интерфейс C ++
- Используйте классы протокола для определения общедоступных интерфейсов.
- Характеристики класса протокола:
- Он не содержит и не наследует классы, содержащие данные членов, невиртуальные функции или частные (или защищенные) члены любого типа.
- Он имеет невстроенный виртуальный деструктор, определенный с пустой реализацией.
- Все функции-члены, кроме деструктора, включая унаследованные функции, объявляются чисто виртуальными и остаются неопределенными.
- Льготы
- Преимущества использования классов протоколов включают:
- Изоляция приложений от внешнего клиента
- Изоляция изменений, которые являются внутренними по отношению к интерфейсу
- Изоляция изменений общедоступного интерфейса от изменений реализации интерфейса
- Изоляция требует затрат, но они, как правило, перевешиваются увеличением функциональной совместимости и возможности повторного использования.
- Расходы:
- Прохождение указателя реализации
- Добавление одного уровня косвенного обращения за доступ
- Добавление размера указателя реализации для каждого объекта к требованиям к памяти
использованная литература
- Различные методологии, такие как рефакторинг, поддержка определения интерфейсов. Рефакторинг обычно применяется ко всей программной реализации, но особенно помогает при правильной очистке интерфейсов.
- Есть и другие подходы, определенные сообществом паттернов. Вы можете получить эти методики от сообщества шаблонов на [1].
- См. «Java-дизайн: создание лучших приложений и апплетов» для получения хорошей вводной методологии, которая также применима к сообществу C / C ++.