Фреймворк

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

Перейти к: навигация, поиск

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

Содержание

Этимология

Является переводом [1](англ. framework — каркас[2], структура[2], сфера деятельности[3]), часто также бытует в техническом жаргоне[источник не указан 1927 дней] слово «фреймворк».

Каркас программной системы

Это каркас программной системы (или подсистемы). Может включать вспомогательные программы, библиотеки кода, язык сценариев и другое ПО, облегчающее разработку и объединение разных компонентов большого программного проекта. Обычно объединение происходит за счёт использования единого API.

Примеры: системы управления контентом (CMS).

Отличается от библиотеки тем, что выполняет код, написанный для него, а не исполняется сам. Пример программного каркаса — CMF (Content Management Framework), а пример библиотеки — модуль электронной почты.

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

Каркас приложения

Каркас приложения является открытой инфраструктурой приложения. Это каркас программной системы, который используется, чтобы обеспечивать выполнение стандартной структуры приложения для определённой операционной системы. Каркасы приложения стали популярны с появлением графических интерфейсов пользователя, которые имели тенденцию к реализации стандартной структуры для приложений. С их использованием стало гораздо проще создавать средства для автоматического создания графических интерфейсов, так как структура внутренней реализации кода приложения стала известна заранее. Для обеспечения каркаса обычно используются техники объектно-ориентированного программирования, например, части приложения могут наследоваться от базовых классов фреймворка.

Одним из первых коммерческих каркасов приложения был MacApp, написанный Apple Computer под Macintosh. Первоначально созданный с помощью расширенной (объектно-ориентированной) версии языка Паскаль, впоследствии он был переписан на C++. Другие популярные каркасы для Macintosh включали Metrowerks Powerplant и MacZoop (все основаны на Carbon).

В различной степени каркасы приложения представляют собой Cocoa для Mac OS X, а также свободные каркасы, существующие как часть проектов Mozilla, OpenOffice.org, GNOME и KDE.

Microsoft создала похожий продукт для Windows, который называется «Microsoft Foundation Classes» (MFC). На данный момент основным продуктом Microsoft для разработки ПО предлагается .NET Framework.

Также существуют каркасы, которые создают одинаковые приложения для Linux, Macintosh и Windows из одного и того же исходного кода, например, widget toolkit, wxWidgets, Qt или FOX toolkit.

Каркас концептуальной модели

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

Реализация каркаса

Каркас определяется как множество конкретных и абстрактных классов, а также определений способов их взаимоотношения. Конкретные классы обычно реализуют взаимные отношения между классами. Абстрактные классы представляют собой точки расширения, в которых каркасы могут быть использованы или адаптированы.

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

Процесс создания каркаса заключается в выборе подмножества задач проблемы и их реализаций. В ходе реализаций общие средства решения задач заключаются в конкретных классах, а изменяемые средства выносятся в точки расширения.

См. также

Примечания

  1. Например: В.Фаронов.Создание приложений с помощью C#,Москва, ЭКСМО,2008, с.12;
    Методы и технологии реинжиниринга ИС. К. В. Ахтырченко, Т. П. Сорокваша, Институт системного программирования РАН.
  2. 2,0 2,1 Словари Яндекс
  3. Словарь Babylon

Ссылки

ar:إطار عمل (برمجة)

bn:ফ্রেমওয়ার্ক ca:Framework cs:Framework da:Framework de:Framework en:Software framework es:Framework fa:چارچوب نرم‌افزار fi:Ohjelmistokehys fr:Framework he:שלד תוכנה id:Kerangka kerja it:Framework ja:ソフトウェアフレームワーク ko:뼈대 nl:Framework pl:Framework pt:Framework simple:Framework th:เฟรมเวิร์ก uk:Фреймворк zh:框架

Личные инструменты

Served in 0.336 secs.