Характеристики и особенности каждой программной среды - PullRequest
1 голос
/ 14 июля 2010

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

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

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

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

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

Ответы [ 6 ]

6 голосов
/ 21 июля 2010

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

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

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

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

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

0 голосов
/ 21 июля 2010

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

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

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

0 голосов
/ 21 июля 2010

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

0 голосов
/ 14 июля 2010

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

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

0 голосов
/ 14 июля 2010

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

Из FOLDOC :

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

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

0 голосов
/ 14 июля 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...