Блок предохранителей (программирование) - Fusebox (programming)

Блок предохранителей
изначальный выпуск1997
Окончательный релиз
5.5.2 / 8 мая 2012 г.
Написано вCFML, PHP
ТипФреймворк веб-приложений
ЛицензияЛицензия Apache
Интернет сайтwww.fusebox.org

Блок предохранителей был каркас веб-приложений за CFML и PHP. Первоначально выпущенная в 1997 году, последняя версия 5.5.2 была выпущена в мае 2012 года. В январе 2012 года права на Fusebox были переданы от TeraTech группе из пяти разработчиков.[1] который удалил права и передал фреймворк в руки сообщества.[2]

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

Обзор

Fusebox предоставил разработчикам веб-приложений стандартизированный, структурированный способ разработки своих приложений с использованием относительно простого и легкого для изучения набора основных файлов и рекомендуемых соглашений. В дополнение к самой структуре, Fusebox стал тесно связан с методологией разработки веб-приложений, разработанной его сторонниками, известной как "Кувырок "(для процесса жизненного цикла Fusebox). (Многие люди называют Fusebox" методологией ", но на самом деле это была среда разработки. Однако FLiP - это методология). Эта структура была перенесена и использована в ASP, JSP, Лассо, Perl /CGI и PHP также, хотя версии Fusebox для CFML и PHP были единственными версиями, которые набрали обороты.

Fusebox имел дело в первую очередь с попыткой связать вместе состояния просмотра (страницы) с действиями контроллера (отправка форм и т. Д.) И внешним интерфейсом уровня бизнес-логики. Фреймворк не рассматривал создание и поддержку бизнес-логика такие как взаимодействие с базой данных или уровни обслуживания

Концепции

Блок предохранителей, схемы и предохранители

Первоначальные концепции Fusebox были основаны на бытовой идиоме электрического блока предохранителей, который управляет несколькими цепями, каждая из которых имеет свой собственный предохранитель. В веб-приложении Fusebox все запросы маршрутизируются через одну точку (обычно index.cfm для CFML) и обрабатываются файлами ядра Fusebox. Приложение разделено на несколько цепей (обычно в подкаталогах), которые предназначены для выполнения связанных функций. Каждая цепь в приложении разделена на небольшие файлы, называемые предохранителями, которые должны выполнять простые задачи. Таким образом, Fusebox считается реализацией передний контроллер, обычный шаблон дизайна.

URL-адреса в веб-приложении Fusebox обычно имеют форму index.cfm? fuseaction = cname.fname куда "cname"это название цепи и"имя"является определяемым XML" методом "в этой схеме, известным как fuseaction. Имя переменной строки запроса" fuseaction "может варьироваться в зависимости от параметров конфигурации, поэтому не всем приложениям, использующим Fusebox, необходимо использовать переменную действия" fuseaction ".

Соглашения об именах

Fusebox поощряет, но не обеспечивает, отделение логики представления от бизнес-логики. Он использует ряд соглашений об именах файлов для поощрения этого разделения: файлы презентации начинаются с dsp (отображение) или lay (макет), файлы доступа к базе данных начинаются с qry (запрос), а общие бизнес-файлы начинаются с act (действие). Типичные имена файлов имеют формат [префикс] _ [имя файла], например dsp_loginform.cfm. Некоторые разработчики Fusebox используют дополнительные соглашения об именах, но они являются наиболее распространенными.

Выйти из предохранителей

Еще одна концепция, которую поощряет Fusebox, - параметризация любых точек выхода на веб-странице, кодирование их как переменных, установленных в файле управления схемой. Эти точки выхода известны как XFAs - eXit FuseActions. Идея состоит в том, что, параметризуя точки выхода на веб-странице, поток управления может быть более легко обновлен, что позволяет повторно использовать веб-страницы или их фрагменты.

FuseDocs

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

История

Fusebox претерпел несколько серьезных изменений за эти годы. В Fusebox 3 все управляющие файлы были написаны на соответствующем языке программирования (например, fbx_Switch.cfm для CFML). Fusebox 4 и более поздние версии используют XML для управляющих файлов (fusebox.xml и circuit.xml), но другие компоненты фреймворка написаны с использованием основного языка программирования (например, fusebox5.cfm, опять же для CFML). Теоретически это помогает улучшить поддержку инструментария фреймворка. Это также позволило предварительно проанализировать и создать единый шаблон для обработки каждого действия fuseaction, что значительно повысило производительность. Fusebox 5.5 позволяет опускать файлы XML при соблюдении определенных соглашений.

Блок предохранителей (версия 1)

Fusebox 1 вырос из разговора в списке рассылки CF-Talk в апреле 1998 года. Стиву Нельсону и Гейбу Роффману приписывают создание оригинального Fusebox, хотя первая программа Fusebox была написана Джошем Сиром. Методология постоянно развивалась, и за пределами официального документа и нескольких примеров не существовало официальной документации. В те первые дни очень немногие разработчики были знакомы с Fusebox.

Блок предохранителей 2

Крейг Жирар и Стив Нельсон (вместе с Хэлом Хелмсом и Натом Паповичем) написали книгу Fusebox: Methodology and Techniques, которая была опубликована в 2000 году компанией Fusion Authority. Говорят, что программисты, которые следовали методам, описанным в книге, делали «Fusebox 2».

XFB

Хэл Хелмс основывался на Fusebox 2 и назвал свои идеи eXtended FuseBox или XFB.

Блок предохранителей 3

Fusebox 3 (написанный в основном Хэлом Хелмсом, Джоном Куарто-фон Тивадаром и Натом Паповичем) был попыткой ведущих членов сообщества Fusebox включить XFB и другие идеи в многоразовую библиотеку, известную как «основные файлы». Простой API позволяет коду приложения взаимодействовать с файлами ядра. После выпуска осенью 2001 года Fusebox стал рамки а не методология. В следующем выпуске 3.01 устранены незначительные проблемы. Блок предохранителей 3 был чем-то вроде морское изменение от Fusebox 2. Только исходные принципы остались относительно неизменными; Приложение Fusebox 2 и Fusebox 3 устроено по-разному.

Блок предохранителей 4

Fusebox 4 был полностью переработан Fusebox 3. лицензия файлы ядра (с открытым исходным кодом) принадлежат частной компании, принадлежащей Хэлу Хелмсу и Джону Куарто-фон Тивадару: Корпорация Fusebox[постоянная мертвая ссылка ] (которая, по всей видимости, является несуществующей корпорацией).

Fusebox 4.1 представил некоторые новые элементы грамматики XML помимо тех, которые были доступны в 4.0, которые позволяют объявлять, создавать экземпляры и манипулировать объектами (COM, Java и компоненты ColdFusion), а также веб-службами. Эти функции предоставили разработчикам Fusebox средства привязки объектно-ориентированных моделей (то есть бизнес-логики) непосредственно к их контроллерам. Однако многие разработчики Fusebox использовали объектно-ориентированные или сильно структурированные модели в более ранних версиях Fusebox или в текущих версиях без использования этих элементов грамматики.

Блок предохранителей 5

В 2006 году корпорация Fusebox попросила Шон Корфилд возглавить разработку следующей версии Fusebox. Блок предохранителей 5 был еще одно полное переписывание с новыми функциями и улучшенной производительностью. Fusebox 5 почти полностью поддерживает обратную совместимость с Fusebox 4.1. В ноябре 2006 г. корпорация Fusebox передала права собственности на файлы ядра и веб-сайт fusebox компании TeraTech под руководством президента TeraTech и спикера Fusebox Майкла Смита. TeraTech объявила, что Fusebox останется открытым исходным кодом и снова стремится увеличить участие сообщества в проекте. Fusebox 5.1 и все последующие выпуски находятся под лицензиейЛицензия исходного кода Apache 2.0.В феврале 2007 г. Команда Fusebox встретились на конференции Frameworks в Бетесде, штат Мэриленд, и разработали план действий по вовлечению сообщества с привлечением добровольцев в девяти различных областях Fusebox.

Блок предохранителей 5.5

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

  • Альфа-тестирование началось в июне 2007 г.
  • Публичная бета-версия стала доступна на Adobe MAX в октябре 2007 г.
  • Официальный выпуск Fusebox 5.5 стал доступен в начале декабря 2007 г.

Блок предохранителей 5.5.1 и FuseNG

Выпуск Fusebox 5.5.1 в марте 2008 г. был последним выпуском Шона Корфилда. В августе 2008 года Адам Хаскелл взял на себя разработку, но разочаровался в организации Fusebox,[3] и попытался создать новую платформу под названием FuseNG (NG для следующего поколения, Звездный путь ссылка). FuseNG быстро потерял пар и закончился без релиза.[4]

Блок предохранителей 5.6

В январе 2012 года группа из пяти разработчиков сообщества во главе с Джоном Блейтером объявила в списке рассылки Fusebox, что они получили права и авторские права на Fusebox от TeraTech.[2] На код фреймворка было снято авторское право, и он доступно на GitHub для поощрения участия сообщества. Fusebox 5.6 цели были объявлены, но так и не были реализованы.[5]

Смотрите также

Рекомендации

внешняя ссылка