Программирование в 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 приведен общий интерфейс объекта "стул"; он содержит объявления следующих функций, включая код реализации.

clsChair Prototypes

Public Property Get color() As Variant End Property Public Property Let color(ByVal vNewValue As Variant) End Property

Public Property Get ChairError() As String End Property

Public Property Get ChairID() As String End Property

Public Function OpenChair(ID As String) As Boolean End Function

Public Function CreateChair() As Boolean End Function

Public Function GetChairState() As DOMDocument30 End Function

Листинг 1.3.




- Начало -  - Назад -  - Вперед -