Программирование в IIS

       

Построение в VB6 COM-объекта с поддержкой доступа к данным


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

  • OpenChair(ID as string) as Boolean – открывает имеющуюся запись "стул" и заполняет объект значениями.
  • CreateChair() as Boolean – генерирует новый ID, заполняет объект новым ID и записывает запись в базу данных.
  • GetChairState() as XMLDOM – упорядочивает состояние объекта в XML DOM в виде: <Chair ID="" Color="" />.

В класс clsChair добавятся следующие свойства.

  • ChairID as String – Read Only . Идентификатор, используемый для уникальной идентификации рассматриваемого объекта "стул".
  • ChairError as String – Read Only. Описание последней обнаруженной ошибки, имевшей место в классе clsChair.

Интерфейс по-прежнему не сложен, однако теперь он более соответствует классу в истинном объектно-ориентированном программном решении. Целесообразно добавить в интерфейс и другие функции: delete (удаление) и save (сохранение) – однако для сокращения приводимых в книге примеров рассматривать их не будем.

Имя chair предшествует именам функций в классе clsChair. Создавать интерфейс к объекту, использующий имя самого объекта, не рекомендуется, однако этого требуют ограничения данной технологии. Оpen и create являются ключевыми словами, зарезервированными в VB, поэтому их нельзя использовать в качестве имен пользовательских функций в экземпляре класса. Следует заметить, что наследование класса не содержит какой-либо логики, за исключением того, что связано с описанием самого стула или с его действиями в рассматриваемом сценарии. Отсутствует логика данных или логика представления, например, строки подключения к базе данных или HTML-вывод.

В листинге 1.3 приведен общий интерфейс объекта "стул"; он содержит объявления следующих функций, включая код реализации.

Листинг 1.3.

(html, txt)



Содержание раздела