Характеристики и особенности каждой программной среды

Я пытался найти ответ на свой вопрос сегодня с помощью поисковых систем Google и Stackru... но не повезло:)

Мне было интересно, каковы основные характеристики каждой инфраструктуры для конечного пользователя, и как вы можете охарактеризовать каждую среду с точки зрения конечного пользователя (я изучил Руководство по разработке инфраструктуры К. Квалина, но нашел только концепции и руководства для архитекторов фреймворков), для меня:

  • это должно быть расширяемым
  • должны позволить создавать расширяемые и повторно используемые компоненты
  • и конечно: простые вещи должны быть простыми, сложные вещи должны быть возможными. ( http://en.wikiquote.org/wiki/Alan_Kay)

Я думаю, что там гораздо больше.

Пожалуйста, поделитесь своими знаниями.

6 ответов

Решение

Вот две хорошие цитаты из Ральфа Джонсона и Брайана Фута

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

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

Был специальный выпуск CACM, на который вы, возможно, захотите взглянуть.

Вот еще одна ссылка Голливудский директор. "Не звоните нам, мы вам позвоним". О том, как фреймворк инвертирует типичный элемент управления, поэтому фреймворк вызывает ваш код, а не вы вызываете некоторый библиотечный код.

Разница между библиотеками и фреймворками: вы называете библиотеки. Рамки зовут тебя.

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

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

Похоже, вы просто хотите знать, что является определяющей характеристикой каркаса...?

От FOLDOC:

В объектно-ориентированных системах - набор классов, который воплощает абстрактный дизайн для решения ряда связанных проблем.

В общем, библиотека классов ("набор классов"), которая расширяема ("воплощает абстрактный дизайн"),

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

Рекомендации по разработке структуры: условные обозначения, идиомы и шаблоны для многократно используемых библиотек.NET (2-е издание)

альтернативный текст http://www.lybrary.com/images/0321605012.jpg

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

Другие вопросы по тегам