Подтвердить что ты не робот

Разница между API и инфраструктурой

какая разница между этими двумя терминами, заранее заблаговременно за любые хорошие упрощения и хорошие примеры.

4b9b3361

Ответ 1

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

API - это публичное лицо фреймворка. Хорошо разработанная инфраструктура предоставляет только те классы, интерфейсы и т.д., Которые необходимы для использования фреймворка. Код, который поддерживает работу фреймворка, но который не является необходимым для пользователей фреймворка, остается внутренним для сборок/библиотек фреймов. Это удерживает общественность от манеры и поощряет "яму успеха" или качество структуры, которая делает ее простой, чтобы делать правильные вещи.

(Я представляю пример из мира .NET) Класс SqlConnection используется для подключения к экземпляру сервера Sql. Его публичный API довольно прост:

using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open();
    // Do work here; connection closed on following line.
}

Однако этот класс зависит от около 200 методов в рамках System.Data​​strong > (в данном случае сборка), 3/4 из которых являются внутренними и не являются частью общедоступного API System.Data​​STRONG > . Поскольку API-интерфейс Framework прост, он становится удобным для правильного использования SqlConnection. Если пользователю потребовалось иметь дело с SqlConnectionFactory, SqlDebugContext, DbConnectionPoolGroup или любым другим внутренним классом, требуемым классом SqlConnection, Экспоненциально сложнее использовать SqlConnection правильно. Поскольку API предоставляет только небольшой процент фреймворка, проще создать и использовать соединение.

Ответ 2

API - это интерфейс для (набора) компонентов (ов), инкапсулирующих функциональность. Например, API GoogleMaps, API DirectX или OpenGL.

Рамка - это скорее набор инструментов, компонентов, предназначенных для помощи разработчику в разработке своего проекта в данном фрейме. Структура обычно устанавливает некоторые стандарты кодирования, предоставляет полезные компоненты,... Например, Symfony/Cake являются фреймворками веб-приложений PHP. JUnit - это основа для модульных тестов в Java,...

Framework могут часто связывать/предоставлять унифицированный интерфейс для некоторых API.

Некоторые API могут быть внутренне построены с использованием фреймворка.

Ответ 3

  • API - интерфейс прикладного программирования → контракт, который вы должны соблюдать при использовании API-интерфейсов библиотеки
  • library - набор классов/модулей, которые решают конкретную проблему → имеет API
  • framework - "большой" набор библиотек с набором правил о том, как их использовать.

Поскольку у каждой библиотеки есть API, нет смысла приводить примеры.

Популярная библиотека Java для времени Время в Joda.

Популярная структура Java - это Spring framework.

Вы должны соблюдать множество правил, чтобы хорошо использовать Spring. Вам не нужно выполнять столько правил, чтобы использовать время Джоды.

Ответ 4

API-код имеет код, а не что-то такое. Структура имеет API, но сама она не является API.

Ответ 5

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

Пример:

API:

-stringWithString:

из рамки:

-myExposedMethod:

Ответ 6

Framework используется для разработки приложения, то есть MVC, MEF. Как модель, на которой вы строите, почти база для определенного набора функций, которые вы можете захотеть в своем приложении.

API для взаимодействия между приложениями, ваше приложение будет использовать API Facebook для взаимодействия с Facebook.

Надеюсь, это будет немного более ясно.

Ответ 7

  • API Java просто означает... Интерфейс прикладного программирования, в котором все функции описывают продукт или программное обеспечение.

  • Java Framework означает полузавершенный проект или код. Он обеспечивает архитектуру для создания проекта. Framework имеют собственные классы и методы и т.д.

Ответ 8

API - это просто библиотека, построенная с определенным языком, который разработчики могут использовать для создания приложений. Рамки представляют собой набор библиотек, как и API, однако синтаксисы могут ухудшать исходный язык. Таким образом, разработчик может писать другой синтаксис PHP, например, при использовании Symphony.

Ответ 9

Основное или основное различие между каркасом и API заключается в том, что эта платформа позволяет разработчику подключаться к жизненному циклу объектов посредством механизма методов обратного вызова жизненного цикла, тогда как API этого не делает, API предназначен только для выполнения функциональных возможностей.

Ответ 10

Другим способом визуализации этого является: (true для любого языка программирования)

Любая (!) "часть программного обеспечения, предназначенная для использования другим программным обеспечением" по определению ", должна иметь некоторый" интерфейс прикладной программы (API) ", который представляет собой" кнопки, переключатели и циферблаты ", которые ожидается и другая часть программного обеспечения (и, разрешено). Все внутренние детали реализации не видны и не могут быть достигнуты.

"Рамки" - это инструменты, предназначенные для облегчения написания человеком конкретного, общего типа приложений - например, веб-страницы. Рамка реализует "материал, который каждый такой приложение должен будет иметь возможность делать", и делает это одним из проверенных способов ", именно так, что вам (автору приложения) не нужно". Вместо того, чтобы излишне писать "ту же старую вещь, еще раз, и беспокоиться, правильно ли вы сделали это", вы просто используете то, что уже сделали для вас рамки.

В конце концов...

Actum Ne Agas: Не делай того, что уже сделано.