Каково практическое определение программного обеспечения / основы программирования? - PullRequest
3 голосов
/ 03 апреля 2010

Статья в Википедии кажется слишком многословной.

Под фреймворком я понимаю хорошо разработанный набор библиотек и инструментов. Каркас Qt предоставляет набор библиотек / инструментов для кроссплатформенных графических интерфейсов. Платформа какао делает то же самое для Mac.

Какое практическое определение структуры программного обеспечения?

Ответы [ 3 ]

6 голосов
/ 03 апреля 2010

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

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

1 голос
/ 03 апреля 2010

Похоже, ответ на ваш вопрос.

Это интегрированный набор библиотек, который абстрагирует некоторые части базового языка или архитектуры и предоставляет инструменты, которые обычно используются в конкретной области, для которой он был разработан (например, веб-среда будет иметь инструменты для работы с HTML).

0 голосов
/ 03 апреля 2010

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

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

  1. инверсия управления - В рамки, в отличие от библиотек или обычные пользовательские приложения, общий поток управления программой не продиктован вызывающим абонентом, а рамки. [1]
  2. поведение по умолчанию - фреймворк имеет поведение по умолчанию. Это по умолчанию поведение должно быть на самом деле полезное поведение, а не ряд нет-OPS.
  3. расширяемость - рамки могут быть продлен пользователем обычно на выборочное переопределение или специализированное по коду пользователя, предоставляющему конкретные функциональность
  4. неизменяемый каркасный код - рамочный код, в общем, не разрешено изменять. Пользователи могут расширить рамки, но не изменять его код.
...