![]() |
![]() |
![]() |
Пример бюро путешествий Acme (Acme Travel Agency) — шаг 3 Пример бюро путешествий Acme (Acme Travel
Agency) был представлен в главе 4 "Объектно-ориентированное
программирование на управляемом C++", где
в качестве структур данных для хранения
списков гостиниц, клиентов и
резервирований мы использовали массивы. В
главе 5 "Управляемый C++ в .NET Framework" мы
внесли изменения в реализацию примера, и
для хранения информации вместо массивов
использовали коллекции. Мы также
определили множество интерфейсов и
передавали списки в качестве объектных
ссылок ArrayList. В предыдущей главе был
реализован интерфейс пользователя в виде
командной строки. В папке CaseStudy этой главы
реализован графический интерфейс
пользователя, созданный с помощью Windows Forms (Формы
Windows).
Третья основная форма нашего
интерфейса пользователя — это форма
HotelReserva-tions (Бронирование мест в гостинице),
которая вызывается по щелчку на кнопке
Reservations . (Резервирование ) главной
управляющей формы Для того чтобы сделать
резервирование, заполните поля Customer Id (Идентификатор
клиента), Checkin Date (Дата прибытия), Number of Days (Количество
дней) Поля City (Город) и HotelName (Название
гостиницы) можно заполнить автоматически (при
выборе гостиницы в списке элементов) И
чтобы резервирование было выполнено,
просто щелкните на кнопке Make Reservation (Сделать
резервирование) Для того чтобы вывести
список резервирований клиента по его
идентификационному коду (Customer Id),
необходимо щелкнуть на кнопке Show Reservations (Отобразить
список резервирований) На рис. 6.26. показана
эта форма после того, как клиент,
идентификатор которого равен 1, сделал
резервирование, и оно было отображено
Пример бюро путешествии Acme (Acme Travel Agency) рассматривается также в последующих главах, и стоит поэкспериментировать с этим приложением уже сейчас Графический пользовательский интерфейс значительно удобнее, чем пользовательский интерфейс командной строки С другой стороны, в интерфейсе командной строки реализован простой глобальный блок try для цикла по всем командам, облегчающий обнаружение всех искчючений Но этот подход не годится для графических пользовательских интерфейсов В промышленных приложениях необходимо делать проверку исключений везде, где они могут произойти Наш пример упрощен в учебных целях, и мы не пытались тщательно обрабатывать все исключительные ситуации (исключения) Кроме того, мы допустили еще одно упрощение мы не проверяем, является ли идентификатор клиента (Customer ID), который используется при резервировании, кодом реапьно существующего, зарегистрированного клиента Эта проверка реализована в главе 9 "Программирование в ADO NET', где пример реализуется на основе базы данных |
![]() |
![]() |
![]() |