Главная » Просмотр файлов » Диссертация

Диссертация (1090660), страница 10

Файл №1090660 Диссертация (Методы и инструменты декларативного программирования динамических Web-узлов и приложений) 10 страницаДиссертация (1090660) страница 102018-01-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 10)

та, где ожидается число (в данном случае, год). Такой алгоритм позволяетпользователю не заострять внимание на порядке следования локаций в коде BML.Подробнее этот алгоритм разобран в разделе 2.9.Вставки, применяемые в локациях могут быть следующего вида:[set:block] — где set является именем набора, а block — именем блока. Захваченное значение из данной вставки будет проверено на соответствие своему типу данных, указанному для блока в модели, и будет использоваться при выборке экземпляранабора. Кириллические символы в URL будут транслитированы, согласно стандарту BGN/PCGN[40]. Знаки препинания, не участвующие в формировании структурыURL, а также символы латиницы будут сохранены в первозданном виде.

Остальныесимволы будут заменены на нижнее подчёркивание.[set@page] — ключевое слово page сообщает о том, что в данный шаблон будетподставлено число, которое интерпретатор задействует при выборке номера страницы множества экземпляров набора с именем set. Ключевое слово page остается вструктуре шаблона и не изменяется.[set@id] — ключевое слово id сообщает о том, что в данный шаблон будет подставлен идентификатор набора, который интерпретатор задействует при выборке изнабора с именем set.

Ключевое слово id также не изменяется.@all — определяет локацию, логика которой исполняется вместе с любыми другими локациями.Другие атрибуты локации:template — устанавливается основной шаблон для данной локации. На основе шаблона и выходных данных с помошью шаблонизатора будет сгенерирован конечныйдокумент.output — устанавливается направление потока генерируемых выходных данныхлокации. Допустимые значения: std – поток будет сгенерирован стандартно, в браузерклиент, email – поток будет сгенерирован и отправлен по указанному адресу элек-48тронной почты. В последнем случае необходимо взаимодействие с атрибутом send ублока email.allowed – задаёт перечень групп, которым разрешён доступ к данной локации. Вкачестве указания пользователя используется его численный идентификатор.disallowed – задаёт перечень групп, которым запрещён доступ к данной локации.В качестве указания пользователя используется его численный идентификатор.onsuccess — значением атрибута является URL, на который произойдёт перенаправление в случае, если операция создания, обновления или удаления хотя бы одногоили нескольких экземпляров набора выполнена успешно.

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

Значение none будет означать, что результат выполнения будет отправлен в ту же локацию. По умолчанию: none.onfail — то же, что и onsuccess, но перенаправление произойдёт в случае неуспешного выполнения операции. Допустимы только динамические вставки, задействованные в base. Стоит также отметить, что если перенаправление происходит в другуюлокацию (т.е. при любом значении атрибута, отличным от none), код ошибки не передаётся.

По умолчанию: none.2.4Разработка компоненты «Набор»Набор (элемент Set) является коллекцией данных различного типа. Набор идентифицируется уникальным именем, с помощью которого набор может быть определён вмодели и локации. Имя задаётся с помощью атрибута name. Зарезервированные имена начинаются с символа нижнего подчёркивания. Их использование указывает на то,что набор выполняет специализированные функции. На текущий момент это функцииавторизации.

Подробнее: 2.6.1.В контексте модели набор определяет структуру данных отдельно взятой коллекции и её отношение с другими наборами. Результатом выборки из набора являетсяодин или множество экземпляров набора. Выборка из набора осуществляется при обработке соответствующей локации, в которой задействован этот набор.49Индивидуальные критерии выборки задаются в виде атрибутов-модификаторов вкаждой из локаций, где используется данный набор. Большинство из этих атрибутовмогут быть заранее определены в модели.

В таком случае, эти атрибуты будут общимидля всех локаций, если не будут переопределены индивидуально в любой из них.Результат выборки данных — экземпляры набора — отправляется в шаблонизатор.Внутри элемента набора могут быть только блоки, являющиеся непосредственнымиего составляющими. Атрибуты набора указаны в таблице 2.1.Таблица 2.1. Атрибуты набораАтрибутОписаниеПоПрименениеумолч.actУказывает на действие, которое необходимо применить для данного экзем- readModel,пляра набора или нескольких наборов: создать, выбрать, обновить, удалить,Locationавторизовать, выйти (последние два для авторизационного набора см. 2.6.1).Возможные значения: create, read, update, delete, auth, logout, либо @input.В случае указания последнего, значение атрибута будет считываться из пользовательских данных.actaliasУказывает синоним атрибута act при приёме данных извне.НетModel,LocationКлонирует набор, указанный в атрибуте.

В модели может применяться толь- noneModel,ко для дочерних наборов, которые, по сути, являются одними и теми же на-Locationборами с одинаковыми данными. Если применяется в локации, создаёт клоннабора с теми же самыми атрибутными характеристиками. Однако все атрибуты, указанные в клонируемом наборе, переопределят атрибуты, которые былиунаследованы от исходного набора.funcУказывает через запятую перечень дополнительных функций при выборке на- selectModel,бора.

Возможные значения: select — осуществляется выборка, count — осу-Locationществляется подсчёт количества экземпляров набора, author – осуществляетсявыборка информации о создателе набора.продолжение следует50clone(продолжение)АтрибутОписаниеПоПрименениеумолч.limitОграничивает максимальное количество экземпляров набора из выборки.

Как 0Model,правило, применяется вместе с соответствующим свойством постраничногоLocationвывода в атрибуте base родительского элемента Location.nameУникальное имя набора, идентифицирующее его в модели и локации. Состоит НетModel,из символов латинского алфавита, цифр и нижнего подчёркивания. Зарезерви-Locationрованные имена: _users, _groups.nameskipModel,чено, 0 — выключено.LocationУказывает явно идентификатор набора, который необходимо задействовать в НетModel,выборке. Возможные данные: числовой идентификатор или @input. В случаеLocationуказания последнего, значение атрибута будет считываться из пользовательских данных.idaliasУказывает синоним атрибута id при приёме данных извне.НетModel,Locationпродолжение следует51idДопускает не указывать имя набора при передаче данных на сервер.

1 — вклю- 0(продолжение)АтрибутОписаниеПоПрименениеумолч.orderУпорядочивает выборку экземпляров набора по соответствующим блокам. noneModel,Значением атрибута являются пары «название блока» «упорядочивание» раз-Locationделённые запятой. Упорядочивание может быть по возрастанию (ASC), по убыванию (DESC) или случайным (RAND). В последнем случае применяется каксамостоятельное значение без указания имени блока и других пар.

Если типупорядочивания не указан после имени блока, считается, что такой блок будетупорядочиваться по возрастанию. Пример: rating DESC, name ASC.parentidModel,выборке. Возможные данные: числовой идентификатор или @input. В случаеLocationуказания последнего, значение атрибута будет считываться из пользовательских данных.parentidaliasУказывает синоним атрибута parentid при приёме данных извне.НетModel,LocationrelationОтношение вложенного набора к родителю. Указывает на то, где находится parentModelпервичный ключ отношения: у родителя (значение parent), у потомка (значение child) или у обоих (связь «многие ко многим», значение multi).

Связующаятаблица множественной связи создаётся интерпретатором автоматически.продолжение следует52Указывает явно идентификатор родителя, который необходимо задействовать в Нет(продолжение)АтрибутОписаниеПоПрименениеумолч.trashПри включении указывает на то, что при удалении экземпляры набора будут 0Model,не удаляться физически, а помечаться, как удаляемые. 1 — включено, 0 — вы-Locationключено.validactУказывает через запятую перечень действий, допустимых для данного набора.

create,Model,Возможные значения: create, read, update, delete.Locationread,update,delete53542.5Разработка компоненты «Блок»Блок (элемент Block) является непосредственной частью набора и представляетсобой определённый тип данных. Тип данных может быть как элементарным, таки представлять собой сложную структуру, в том числе осуществляющей функциифайловой обработки. В методике BlockSet блок при любых обстоятельствах обладает свойством атомарности. Предварительное объявление блока у соответствующегонабора в модели также является обязательным, как и объявление самого набора.Условно, набор представляет собой таблицу в базе данных, а блок — поле в этойтаблице. Отличие в том, что блок может обрабатывать сложные данные, оставаясьпри этом элементарной сущностью в контексте методики BlockSet.

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

Блоку каждого типа может соответствовать разный набор атрибутов. Это особенность методики.2.5.1Классифицирование блоковБлоки делятся на три категории: базовые, составные и файловые.Базовые блоки являются косвенным эквивалентом типов, применяемых в базахданных, однако в них заложен более высокий уровень абстракции, Например, этовыражается в том, что размерность типа не указывается напрямую, а вычисляется наоснове косвенных факторов и атрибутов.Составные блоки основаны на базовых. Такие типы содержат в своей архитектуре сложные структуры и усложненные алгоритмы валидации данных, в базе данныхможет применяться дополнительная таблица для представления.

Разделение блоковна базовые и составные весьма условно, т.к. с точки зрения конечного пользователяразница заметна лишь по косвенным критериям.Файловые (мультимедийные) блоки задают правила работы с обычными файламиили со специфическими документами, поддерживаемыми системой.2.5.2Разработка атрибутов блокаАтрибуты, представленные в таблице 2.2, могут быть применены абсолютно ковсем блокам. Данные атрибуты являются универсальными.55Атрибуты подразделяются на входные и выходные. Входные атрибуты применяются в контексте модели или локации. Если атрибут допустимо применять в обеихсущностях, то значение атрибута, указанное в локации, имеет высший приоритет ипереопределяет значение, указанное в модели.

Характеристики

Список файлов диссертации

Методы и инструменты декларативного программирования динамических Web-узлов и приложений
Документы
Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6384
Авторов
на СтудИзбе
308
Средний доход
с одного платного файла
Обучение Подробнее