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

В чем разница между API, инфраструктурой и промежуточным программным обеспечением?

Просто случайно получил этот вопрос в моей голове! В чем разница между API, Framework и промежуточным программным обеспечением? По сути, все они предоставляют абстрактные низкоуровневые сервисы для приложений. В этом случае почему dot net называется фреймворком и API окон, который называется хорошо... API?

4b9b3361

Ответ 1

API - это интерфейс прикладного программиста. Его просто термин, который относится к методам, которые программист будет использовать для взаимодействия с программным обеспечением. Например, DAO может иметь метод save(). Сохранить является частью DAO API. На высоком уровне у вас может быть функция "Добавить пользователя в систему". Это часть системного API.

Рамка - это инструмент или набор инструментов. Например, Spring - это структура, которая управляет вашей инверсией управления, инъекции зависимостей и предоставляет отличные шаблоны, чтобы сделать вашу жизнь проще. Вы используете Spring через свой API.

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

Ответ 2

API - это интерфейс к библиотеке программирования (или библиотекам). Это не навязывает вам способ сделать что-либо. Например. OpenGL не ограничивает того, что вы можете с ним сделать.

A framework предоставляет вам часть готового решения проблемы. Вы заполняете пробелы, чтобы сделать то, что хотите. Это может ускорить то, что вы делаете, но вы также ограничены ограничениями фреймворка, например. дизайн, производительность, функциональность. -. MFC предоставила способ создания пользовательских интерфейсов. Он хорошо поддерживал диалоги, но не формы, и такие вещи, как стыковка, были ограничены и содержали ошибки. Windows Forms - это гораздо более эффективная инфраструктура (от архитектора Borland Delphi!), Которая лучше во всех отношениях: дизайн, flexiblitiy, инструменты и т.д. Рамки великолепны, пока они не сделают то, что вы хотите, чтобы они сделали, а затем вы может потерять большую часть времени, когда вы пытались обойти их.

Middleware - вертикальный срез. Если вы считаете программное обеспечение как многоуровневое (например, OS, аппаратные абстракции, библиотеки утилит и т.д.), Промежуточное программное обеспечение включает в себя многие из этих слоев по вертикали. Он предоставляет полное или частичное решение для области вашего приложения. Например. брокерскую систему обмена сообщениями или библиотеку/движок рендеринга. Middleware предоставляет больше, чем просто базовую библиотеку, а также предоставляет связанные инструменты, такие как ведение журнала, отладка и измерение производительности. Одна вещь, которую вы должны быть осторожны при использовании промежуточного программного обеспечения, - это DRY. Поскольку промежуточное ПО является вертикальной системой, оно может конкурировать или дублировать другие части вашего приложения.

Ответ 3

Рамка реализует API. API изолирует клиентов инфраструктуры от деталей реализации базовой структуры. Таким образом (в широком смысле) вы можете использовать Mono или .Net Framework для запуска программы на основе общего исходного кода, поскольку API для обеих фреймворков одинаковый.

Middleware обычно представляет собой структуру, предназначенную для межпроцессного взаимодействия.

Ответ 4

API - это программный интерфейс к системе. Вы используете его для взаимодействия с системой, но не заставляете какую-либо структуру в вашей программе (в идеале).

Структура, диктует, как вы пишете определенные типы приложений, чтобы уменьшить количество требуемого шаблона. Он решает некоторые общие проблемы для приложений этого типа.

Middleware - это в основном маркетинг-говорить. Существует много определений, но обычно они включают в себя большую структуру с некоторыми инструментами, построенными вокруг нее. Некоторые коммерческие игровые движки можно рассматривать как промежуточное ПО, платформы SOA также называются промежуточным программным обеспечением и т.д.

Ответ 5

Основное отличие заключается в функциональности.

API разработан для решения определенной проблемы в определенном домене. Он содержит необходимую структуру данных, классы, методы, интерфейс и т.д. Такие, как API ADO.net, обеспечивают функциональность подключения Microsoft SQL Server.

Рамка, разработанная, чтобы помочь разработчику использовать многократно используемое масштабируемое приложение application.a, не имеет конкретных функций, таких как API, но его различных функций, открытых API. Например, ADO.net - это API-интерфейс .net для доступа к службе данных. В структуре есть компилятор, программы, библиотеки классов, runtime.it может добавлять плагин.