DevBookmark_Services_ Сервисы – это скрипты, реализующие указанный интерфейс. Предназначены для хранения часто используемого функционала. При написании скриптов часто возникают типовые задачи, которые прикладному разработчику приходится решать раз за разом. Чтобы не писать код однотипного функционала заново, разработчики часто копируют его из одного скрипта в другой. В ситуации, когда функционал по какой-либо причине необходимо поменять, перед прикладным разработчиком возникает задача найти его код по всем скриптам, где он используется, и везде внести соответствующие правки.

Для реализации такого типового функционала и используются сервисы. Написав один раз сервис для решения типовой задачи, в дальнейшем можно прибегать к его функционалу, импортируя реализуемый им интерфейс:

[Import]

private IServiceName ServiceName { get; set; }

Подробно импорт описан в разделе Использование сервисов.

Список всех сервисов можно найти в справочнике "Services":

Services_ListForm

Окно справочника разделено на две части: слева отображается дерево групп сервисов, справа – список сервисов выбранной слева группы.

Записи справочника можно фильтровать по Названию сервиса (Name) и Тегам (Tag).

Открыть скрипт выбранного сервиса в форме редактирования можно прямо из списковой формы справочника, выбрав пункт Edit script в контекстном меню.

Сервис обладает следующими свойствами:

Services_EditForm

Name – название класса сервиса. По умолчанию названию сервиса присваивается имя интерфейса, из которого он создается, но без префикса "I" и с числовым суффиксом (чтобы гарантировать уникальность имен). Например, для интерфейса "IInterfaceName" будет создан сервис с именем "InterfaceName1233". Название сервиса можно изменить.;

Interface – реализуемый сервисом интерфейс;

Script – ссылка на скрипт сервиса. При создании нового сервиса скрипт создается автоматически при его сохранении. Нажатие на ссылку Click here to edit the script... при создании нового сервиса приведет к сохранению сервиса и его перезагрузке, затем откроется форма редактирования скрипта;

Folder – группа, которой принадлежит сервис;

Metadata tags – теги, используемые для описания функционала сервиса;

Developer's comments – комментарии прикладного разработчика;

Interface preview – скрипт интерфейса, реализуемого сервисом. В правой области расположена область навигации, показывающая какая часть скрипта отображается на экране.