Модуль: Тур

Содержание

Слайд 2

Tour Рассмотрим пример В качестве примера рассмотрим приложение “Виртуальная Закусочная”. Голодные

Tour

Рассмотрим пример

В качестве примера рассмотрим приложение “Виртуальная Закусочная”.
Голодные люди просматривают меню,

заказывают обед и получают оповещение, когда заказ готов и все это не выходя из офиса.
Через неделю заказанное блюдо доставляется в офис.
Слайд 3

Tour Классы и объекты Класс – это описание данных и бизнес-логики.

Tour

Классы и объекты

Класс – это описание данных и бизнес-логики.
Описание класса

может содержать:
Свойства: описание структуры хранения данных.
Методы: функции для манипуляции данными.
Запросы: SQL-выражения для выборки и анализа данных.
Параметры: константы класса.
Объект – экземпляр класса.

MenuItem

Onion Soup

French Fries

Cheeseburger

Слайд 4

Tour Атрибуты класса Определение класса содержит: Свойства: определение структуры хранения данных.

Tour

Атрибуты класса

Определение класса содержит:
Свойства: определение структуры хранения данных.
Методы: функции для манипуляции

с данными.
Запросы: SQL выражения для доступа к данным.
Параметры: константы класса.
Индексы: оптимизация поиска данных.
Триггеры: обработчики событий в SQL.
Определение стратегии хранения: способы отображения данных на глобалы.
Внешние ключи: используются для обеспечения целостности данных.
Слайд 5

Tour Класс MenuItem Класс MenuItem содержит 3 свойства: Name: название элемента

Tour

Класс MenuItem

Класс MenuItem содержит 3 свойства:
Name: название элемента меню.
Price: стоимость

элемента меню.
Quantity: количество доступных единиц элемента меню.

Name

Price

Quantity

MenuItem

Слайд 6

Tour Создаем класс Используйте Файл->Создать для доступа к списку мастеров. Выберите Класс Caché (Caché Class Definition).

Tour

Создаем класс

Используйте Файл->Создать для доступа к списку мастеров.
Выберите Класс Caché (Caché

Class Definition).
Слайд 7

Tour Пакет и класс Определите имя класса и пакет.

Tour

Пакет и класс

Определите имя класса и пакет.

Слайд 8

Tour Пакеты Пакет (или библиотека)–это каталог, который группирует родственные классы. Каждый

Tour

Пакеты

Пакет (или библиотека)–это каталог, который группирует родственные классы.
Каждый пакет соответствует схеме

SQL, с помощью которой группируются описания семантически связанных таблиц.
Пакет User соответствует схеме SQLUser.
Пакет %Library содержит системные классы, которые доступны из всех областей.
Пакет %CSP содержит классы, которые используются при создании приложений CSP.
Пакет создается при создании первого класса данного пакета. При удалении последнего класса, пакет удаляется.
Слайд 9

Tour Тип класса Определите тип класса. Хранимые (Persistent) классы используются для хранения данных.

Tour

Тип класса

Определите тип класса.
Хранимые (Persistent) классы используются для хранения данных.

Слайд 10

Tour XML и Populate Поддержка XML предоставляет методы для экспорта выбранных

Tour

XML и Populate

Поддержка XML предоставляет методы для экспорта выбранных данных в

формат XML.
Автоматическая генерация данных рассматривается в Модуле 6.
Слайд 11

Tour Редактирование характеристик класса Как только создан класс можно определять его

Tour

Редактирование характеристик класса

Как только создан класс можно определять его свойства, методы,

запросы и параметры.
Для редактирования дополнительных характеристик класса используйте Инспектор классов.
Слайд 12

Tour Свойства Свойства определяют состояние объекта Каждое свойство имеет имя, тип

Tour

Свойства

Свойства определяют состояние объекта
Каждое свойство имеет имя, тип и дополнительный

набор параметров , определяемый выбранным типом свойства.
Слайд 13

Tour Свойство Name Тип свойства определяет тип хранимых данных. В нашем

Tour

Свойство Name

Тип свойства определяет тип хранимых данных.
В нашем случае тип свойства

%Library.String.
Флажок Required указывает на то, что каждый объект MenuItem должен иметь значение свойства Name.
В поле Description может быть задано описание свойства.
Слайд 14

Tour Свойство Price Тип данных свойства %Library.Currency. Каждое свойство имеет набор

Tour

Свойство Price

Тип данных свойства %Library.Currency.
Каждое свойство имеет набор параметров, которые контролируют

допустимое значение свойства.
Набор параметров определяется выбранным типом данных свойства.
Для свойства Price определено максимальное и минимальное значения.
Слайд 15

Tour Свойство Quantity Свойство Quantity указывает сколько единиц объекта MenuItem доступно

Tour

Свойство Quantity

Свойство Quantity указывает сколько единиц объекта MenuItem доступно на данный

момент времени.
Начальное значение свойства равно 10, это означает, что при создании нового объекта MenuItem значение свойства Quantity объекта будет равно 10.
Слайд 16

Tour Некоторые параметры свойств PATTERN: определяет шаблон ObjectScript для проверки правильности

Tour

Некоторые параметры свойств

PATTERN: определяет шаблон ObjectScript для проверки правильности структуры введенной

строки. Например: 3n1"-"3n1"-"4n определяет шаблон для ввода корректного телефонного номера.
MINLEN и MAXLEN: определяют максимальную и минимальную длину строки символов.
TRUNCATE: если значение параметра 0, то при вводе строки длиной большей чем MAXLEN будет выведена ошибка; если значение параметра 1, то строка символов будет урезана автоматически без сообщения об ошибке.
Слайд 17

Tour Другие параметры свойств MINVAL и MAXVAL: определяют диапазон допустимых значений

Tour

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

MINVAL и MAXVAL: определяют диапазон допустимых значений свойства (для

числовых свойств).
VALUELIST: определяет список допустимых значений.
DISPLAYLIST: определяет список выводимых значений свойства, которые соответствуют параметру VALUELIST
FORMAT: целое число, которое используется для числовых типов данных (Integer, Numeric, Date) для определения допустимых форматов. Подробную информацию можно найти в Caché ObjectScript Language Reference.
Функция $ZDATEH для выбора формата даты
Функция $FNUMBER для определения других числовых форматов
Слайд 18

Tour Параметры У каждого свойства есть параметры. Параметры предопределены и нельзя

Tour

Параметры

У каждого свойства есть параметры.
Параметры предопределены и нельзя создать собственные параметры.
Дважды

нажмите мышкой на свойстве для работы с параметрами свойства.
Каждый класс может иметь параметры.
Можно создавать собственные параметры класса.
Для просмотра параметров класса необходимо дважды нажать на имени класса и затем выбрать вкладку Параметры
Для создания нового параметра класса нажмите на пиктограмме New Parameter.
Для редактирования значения параметра дважды нажмите на его имени.
Слайд 19

Tour Методы Caché предоставляет множество предопределенных методов. Наследуемые классы выполняют схожие

Tour

Методы

Caché предоставляет множество предопределенных методов.
Наследуемые классы выполняют схожие функции, такие как

извлечение и хранение данных.
Для написания собственных методов используйте Caché ObjectScript или Caché Basic.
Слайд 20

Tour Запросы С помощью запроса можно произвести выборку требуемых данных из

Tour

Запросы

С помощью запроса можно произвести выборку требуемых данных из базы данных

Caché.
Запрос – это SQL аналог метода.
Для оптимизации времени выборки запрос использует индексные таблицы для индексированных свойств класса.
Слайд 21

Tour Синхронизация Caché Studio Окно исходного кода и инспектор синхронизируются нажатием мыши.

Tour

Синхронизация Caché Studio

Окно исходного кода и инспектор синхронизируются нажатием мыши.

Слайд 22

Tour Сохранение и компиляция Сохраняйте класс, после добавления свойств, методов, запросов

Tour

Сохранение и компиляция

Сохраняйте класс, после добавления свойств, методов, запросов и параметров.
Для

использования класса необходима его компиляция. Во время компиляции:
Caché обрабатывает описание класса и сообщает об ошибках.
Caché создает программы (INT->OBJ). Эти программы используются для объектного доступа к данным.
Caché также создает описания реляционных таблиц и программ связанных с таблицами. Эти описания и программы используются для поддержки SQL доступа к данным.
Слайд 23

Tour Документация класса При сохранении класса Caché создает описание класса в

Tour

Документация класса

При сохранении класса Caché создает описание класса в виде HTML.

Вызвать документацию класса можно из контекстного меню нажатием правой кнопкой мыши на имени класса.
Слайд 24

Tour Созданные программы и глобалы Созданные программы и глобалы именуются путем

Tour

Созданные программы и глобалы
Созданные программы и глобалы именуются путем объединения имени

пакета, имени класса и соответствующего суффикса.
Глобалы класса User.MenuItem:
^User.MenuItemD содержит данные.
^User.MenuItemI содержит индексы.
Слайд 25

Tour Параметры компиляции Параметры компиляции доступны из меню Tools->Options->Class. При выборе

Tour

Параметры компиляции

Параметры компиляции доступны из меню Tools->Options->Class.
При выборе 2 опции будут

откомплированны также измененные суперклассы и классы-наследники.
Слайд 26

Tour XML для импорта/экспорта проекта Studio может импортировать или экспортировать в

Tour

XML для импорта/экспорта проекта

Studio может импортировать или экспортировать в XML
Весь

проект
Один или более компонентов проекта (классы, программы, CSP страницы)
XML полезен для
Переноса приложений между системами
Использования в системах контроля исходного кода
Caché продолжает поддерживать CDL
Слайд 27

Tour Экспорт в XML Для переноса классов приложения: Откройте Портал и

Tour

Экспорт в XML

Для переноса классов приложения:
Откройте Портал и выберите классы.
Нажмите правой

кнопкой на классах и выберите Export.
Определите Options->Classes->Export Format
Используйте <пакет>.xml в качестве имени класса.
Перенесите файл xml на другой компьютер.
Из Studio, используйте Tools->Export и кнопкой Add выберите компоненты или весь проект.
Слайд 28

Tour Импорт из XML Для импорта приложения: В Studio выберите «Инструменты/Импортировать

Tour

Импорт из XML

Для импорта приложения:
В Studio выберите «Инструменты/Импортировать …» и укажите

имя файла xml.
Выберите Import Local или Import Remote.
Слайд 29

Tour Создание пользовательского интерфейса Создайте GUI, используя VB или CSP. VB

Tour

Создание пользовательского интерфейса

Создайте GUI, используя VB или CSP.
VB – это толстый

клиент.
CSP – это тонкий клиент.
Caché предоставляет мастеры форм (Form Wizards) для создания простых форм в Visual Basic или форм Caché Server Page (CSP).
Мастер форм в Visual Basic можно найти в меню Add-Ins.
Мастер форм в Dreamweaver вызывается из пункта меню Insert, выбором опции Caché CSP.
Вызвать мастер web форм можно путем активации файла CacheWebFormWizard.exe из директории c:\cachesys\bin.
Созданные формы полностью функциональны и позволяют редактировать, создавать и удалять объекты классов БД Caché.
Слайд 30

Tour Мастеры форм Оба мастера форм запрашивают: Имя класса Свойства класса,

Tour

Мастеры форм

Оба мастера форм запрашивают:
Имя класса
Свойства класса, которые должны присутствовать на

форме
Примеры создаваемых форм:
Слайд 31

Tour ObjectScript ObjectScript используется для написания логики программ. Три простых команды

Tour

ObjectScript

ObjectScript используется для написания логики программ.
Три простых команды ObjectScript:
Set: используется для

присвоения значения свойству и для выполнения метода и возврата значения
Write: используется для вывода значения свойства или метода
Do: используется для вызова метода и игнорирования возвращаемого значения
Для доступа к свойствам и методам объектов используется точечный синтаксис.
abc.Name – возвращает значение свойства Name объекта abc.
abc.Print() – вызывает метод Print объекта abc.
Слайд 32

Tour Команды ObjectScript Каждая строка ObjectScript начинается с команды. Правильно: set

Tour

Команды ObjectScript

Каждая строка ObjectScript начинается с команды.
Правильно: set x = a

+ b
Неправильно: x = a + b
Для вызова метода используйте команду do.
Правильно: do person.Method()
Возможно использование аббревиатур команд ObjectScript.
s - set
w - write
d - do
Например: s x = a + b
Слайд 33

Tour Примеры использования объектов Создание нового объекта MenuItem USER>set mi =

Tour

Примеры использования объектов

Создание нового объекта MenuItem
USER>set mi = ##class(User.MenuItem).%New()
USER>set mi.Name =

"Hamburger", mi.Price = 2.50
USER>do mi.%Save()
Редактирование существующего объекта MenuItem
USER>set mi = ##class(User.MenuItem).%OpenId(3)
USER>write mi.Name
French Fries
USER>set mi.Quantity = 0
USER>do mi.%Save()
%New(), %OpenId() и %Save() – системные методы, предоставляемые классом %Persistent.
Слайд 34

Tour Соглашения по синтаксису Команды ObjectScript нечувствительны к регистру. После имени

Tour

Соглашения по синтаксису

Команды ObjectScript нечувствительны к регистру. После имени команды должен

быть пробел.
Макровызов ##class также не чувствителен к регистру.
Имена переменных, программ, пакетов, классов, свойств, методов и запросов чувствительны к регистру.
Строка символов должна быть заключена в двойные кавычки.
Слайд 35

Tour Успех или Провал Метод %OpenId() возвращает пустую строку (“”), если

Tour

Успех или Провал

Метод %OpenId() возвращает пустую строку (“”), если объект с

указанным ID не существует. Если ID существует, метод возвращает ссылку на объект в памяти(OREF).
%Save() завершается неуспешно, если не определено требуемое значение свойства или введено неправильное значение.
Метод %Save() возвращает статус, который равен 1, в случае успешного выполнения операции или 0+строка символов, в случае ошибки.
Для расшифровки возвращаемой ошибки необходимо использовать метод %Save() следующим образом:
USER>set st = mi.%Save()
Для вывода ошибки:
USER>do $system.OBJ.DisplayError(st)
ERROR #802: Datatype validation failed:
User.MenuItem.Quantity
Слайд 36

Tour ObjectScript: Объекты Создание объекта: USER>set pers = ##class(User.Person).%New() Ввод данных:

Tour

ObjectScript: Объекты

Создание объекта:
USER>set pers = ##class(User.Person).%New()
Ввод данных:
USER>set pers.Name = "Smith,John"
USER>set pers.HomePhone

= "555-555-5555"
USER>set pers.DOB = $zdh("5/27/62")
USER>set pers.Age = 40
Сохранение данных:
USER>set st = pers.%Save()
USER>write st
USER>do $system.OBJ.DisplayError(st)
Вывод данных:
USER>write pers.Name
Smith,John
Слайд 37

Tour OREF и ID В примере ниже, mi- это OREF, а

Tour

OREF и ID

В примере ниже, mi- это OREF, а 3 -

ID.
USER>set mi = ##class(User.MenuItem).%OpenId(3)
USER>write mi
1@User.MenuItem
ID – это неизменяемый идентификатор хранимого объекта, обычно это целое число. ID уникален в контексте класса.
OREF (object reference) – это средство доступа к свойствам и методам объекта, находящегося в памяти.
Caché присваивает строку символов переменной OREF.
Каждый раз при подгрузке одного и того же объекта в память, его ID не изменяется, однако OREF может принимать различные значения.
Слайд 38

Tour ID ID-это не свойство объекта. Убедитесь в этом используя Cache

Tour

ID

ID-это не свойство объекта.
Убедитесь в этом используя Cache Studio.
ID-это столбец реляционной

таблицы.
Убедитесь в этом используя SQL.
Объект, созданный с помощью %New() не имеет ID пока не сохранен c %Save().
Для определения ID объекта через его OREF используйте метод %Id().
Например:
USER>write cust.%Id()
34