Требуется пояснение, что это за общедоступный API в JavaFX?

Мне очень нравится термин Public API из JavaFX спикеров.

  • Что должно означать Public API?
  • И наоборот, есть ли Private API?

person Salah Eddine Taouririt    schedule 01.06.2013    source источник


Ответы (3)


Самое важное, что вы должны понимать о частном и публичном API:

Поначалу технически можно использовать и то, и другое.

На втором. когда разработчики разрабатывают какие-то программы, они думают - это для пользователей, а это наша реализация. А со временем программы могут измениться. И когда разработчики добавляют изменения - если это изменение частного API - они делают все, что хотят, просто проходя внутренний процесс проверки кода. Но, когда появляется необходимость изменить публичный API - начинают задумываться. Если это действительно необходимо, и никакое другое решение не может быть выполнено, они изменяют общедоступный API и предоставляют всю информацию об изменении (например, примечания к выпуску).

Это обычный процесс - подумать заранее и разработать разделение между общедоступными и частными API, чтобы пользователь мог иметь стабильный API функциональности продукта.

В-третьих: о JavaFX: его частные API живы. Продукт находится в стадии разработки, и эти API-интерфейсы быстро меняются. Общедоступные API-интерфейсы в основном стабильны, и наиболее распространенная вещь в общедоступных API-интерфейсах - это добавление общедоступных методов класса (новая функциональность).

Если вы хотите / вам нужно использовать некоторые функции из частного API - это ваш риск. Его можно изменить или даже удалить. Сторона разработчиков не несет ответственности за сохранение частной функциональности продукта или стабильного API.

Наконец, вы можете подать RFE в javafx-jira, чтобы запросить публичный доступ к его функциям. И если это действительно хорошая идея (придумана разработчиками; может быть после публичного обсуждения; с учетом результатов голосования) - это можно сделать.

person Alexander Kirov    schedule 01.06.2013

Публичный API не является термином JavaFX.

Это термин, который обычно применяется к программам на Java.

Общедоступный API программы - это все, что можно найти во всех ее общедоступных классах:

  • поля классов, которые не являются частными и не являются частными для пакета
  • интерфейсы, которые не являются частными для пакета
  • методы, которые не являются частными и не являются частными для пакета
  • классы-члены, которые не являются частными и не являются частными для пакета

Синоним общедоступного API - это «экспортируемый API». Это функции вашего приложения, которые становятся доступными другим программистам, которые хотят использовать ваше приложение в своей собственной разработке.

«Частный API» - это просто те другие функции вашей программы, которые не описаны выше. Эти частные члены ваших классов являются вашими «деталями реализации», и вы можете изменять или редактировать их сколько угодно, если такие изменения не влияют на общедоступный API.

Возможность отличать детали реализации от экспортируемого API - важная концепция объектно-ориентированного программирования в целом и программирования на Java в частности. Эту способность часто называют «инкапсуляцией».

person scottb    schedule 01.06.2013

Все классы в javafx-namespace являются общедоступным API, и в будущих выпусках JavaFX вы не сломаетесь, классы, находящиеся в com.sun.javafx, напротив, являются частными и могут изменяться от выпуска к выпуску.

person tomsontom    schedule 01.06.2013