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

Какая разница между "двигателем" и "каркасом"?

Я слышал, что эти термины используются, казалось бы, взаимозаменяемо, поэтому я немного неясен. Приведите примеры.

4b9b3361

Ответ 1

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

  • "Структура" - это "основа" или "структура поддержки", вокруг которой вы создаете свое фактическое приложение..NET Framework включает в себя не только основу (CLR), но и ряд библиотек, которые предоставляют стандартизованные функции, которые вам в противном случае пришлось бы реализовать самостоятельно. Другие структуры или фонды предоставляют более конкретные области поддержки, такие как пользовательский интерфейс, хранение данных, взаимодействие клиент-сервер и т.д. Рамки предоставляют относительно статичную общую структуру и в которой вы создаете что-то конкретное и уникальное.
  • "Двигатель" - это автономный, но внешне контролируемый фрагмент кода, который инкапсулирует мощную логику, предназначенную для выполнения определенного типа работы. Двигатели существуют, чтобы выполнять "тяжелый подъем", где вы поручаете ему выполнять какую-то сложную абстрактную задачу, и она обрабатывает специфику относительно эффективным образом без дальнейшего внешнего управления. SQL-реализации и других сервисов, выполняющих поиск, обычно называются "двигателями". Есть также физические движки, графические движки и т.д., Которые имеют общую идею о том, что вы говорите "делаете это" каким-то общим образом и обрабатываете детали.

Ответ 2

http://indiegamesguild.com/sgtflame/2010/02/23/frameworks-vs-engines/

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

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

Ответит ли это на это?

Ответ 3

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

Двигатель - это система, вы ее подаете с данными и выполняете эту работу.

Стоит отметить, что библиотека может иметь "движок", а движок может быть построен с использованием фреймворка.

Ответ 4

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

Двигатель - совершенно другая концепция - это гибрид между каркасом и библиотекой. Как структура, он контролирует приложение. Однако, в отличие от структуры, вы не привязываете свои подпрограммы к движку, но используете свой встроенный API для выполнения определенных задач (что похоже на библиотеку).

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

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

Ответ 5

Примеры Framework:

Примеры двигателей:

Опрос различных типов каждого дает ключ...

Двигатели

  • Поисковая система, информационно-поисковая система, предназначенная для поиска информации о компьютерной системе.
  • Игровой движок, основной программный компонент компьютера или видеоигры
  • Механизм компоновки, программное обеспечение, которое форматирует веб-контент для отображения на экране
  • Рендеринг движка, программного обеспечения или оборудования, который преобразует спецификации изображений в пиксели.
  • Механизм трассировки лучей, программное обеспечение, которое создает сцену путем трассировки симулированных лучей света.
  • Полиморфный двигатель или мутационный двигатель, раннее концептуальное или механическое расчетное устройство.
  • Разностный движок, механический калькулятор, предназначенный для табуляции полиномиальных функций.
  • Аналитический движок, концепция для компьютера, разработанная Чарльзом Бэббиджем

    Рамки

  • Художественный рисунок, музыкальная композиция и механический CAD

  • Составители для разных языков программирования и целевых машин.
  • Приложения для финансового моделирования
  • Приложения моделирования системы Земли
  • Системы поддержки принятия решений
  • Воспроизведение и создание мультимедиа
  • Веб-приложения
  • Middleware

Ответ 6

An engine "does" the job for you.

Простая программа умножения.

A framework "simplifies" the job for you.

Вместо того, чтобы писать код для преобразования строки в int, а затем представлять в engine, у вас есть другой код, который преобразует его для вас. Этот упрощающий код является основой.