СВЯЗЬ ТЕОРИИ И РЕАЛИЗАЦИИ
ОБЪЕКТНАЯ МОДЕЛЬ
Цель – набор бизнес-объектов (программных объектов, отражающих элементы реального мира, их взаимосвязи и правила ведения бизнеса). Этот набор будет использован на сайте и м.б. потом применен в других сайтах. Создаваемые бизнес-объекты должны соотноситься друг с другом и упорядочиваться в объектной модели. Если разработка будет корректной, то получим набор функций, доступный из кода ASP уровня представления. Разработка объектной модели – непростая задача.
Обычно объектная модель является иерархической структурой с одним корневым объектом. Построение этой модели предполагает определение способов взаимного доступа объектов.
Задача: Построить схему объектной модели для сайта Интернет-магазина.
Следует учесть, что все объекты формируются из корневого и для создания служебного объекта следует запросить у корневога выполнение соответствующей задачи.
Когда вызывается корневой объект А, среда Active Scripting обращается к библиотеке типов DLL, содержащей объекты, с целью выяснения способа выполнения вызова. После подтверждения корректности вызова среда запустит определенный код нижнего уровня и обеспечит его данными (обычно в вызове содержится несколько параметров), интерпретирует результат и вернет его обратно.
|
|
VB позволяет построить компонент ActiveХ с помощью комбинации модулей классов и проектов ActiveХ DLL. Модули классов доступны в любом типе проектов VB, однако каждый тип проекта определяет методы использования объектов
Корневой объект А представляет одно посещение сайта. Будем считать посещение сайта просмотром страницы, т.е. запросом на вывод одной страницы. Управляющий браузером называется посетителем, а сеансом (сессией) являются все страницы, запрошенные пользователем за время активной работы с сайтом. Т.о. объектная модель специфицирует полный набор бизнес-объектов, доступных из кода ASP уровня представления.
Четкое построение объектной модели позволяет ограничить действия с сайтом непосредственно на уровне представления.
Объектная модель должна отражать исчерпывающий набор действий, разрешенный для сайта. Если ASP не обеспечивает выполнения какой-то операции, это означает, что операция противоречит правилам ведения бизнеса в компании.
При разработке бизнес-уровня приложения необходимо сформировать несколько объектов, которые принадлежат одной из трех групп:
· Инфраструктура
· Службы
· Данные
Инфраструктурные объекты обеспечивают доступ к используемым приложением ресурсам. В нашем случае – это только один ресурс – соединение с БД. Приложение пользуется и другими ресурсам, но каркас приложения сделает это и без нашего участия.
|
|
Для устранения любых нарушений бизнес правил на уровне представления нужно запретить прямой доступ из кода ASP к инфраструктурным объектам. В нашем случае это ограничение реализуется созданием объектов, доступ к которым возможен только из объектов модели. Другими словами, инфраструктурные объекты являются закрытыми (личными) элементами модели в целом, а коду ASP запрещен прямой доступ или запрос методов этих объектов.
Служебные объекты обеспечивают доступ к прикладным службам приложения. Служба приложения – сущность, определяющая некоторое действие приложения. Все действия должны удовлетворять единому критерию – реализации бизнес-правила. Можно обеспечить создание клиента любыми объектами модели, а также кодом ASP. Именно через такие служебные объекты коду уровня представления получает доступ к бизнес-правилам.
Объекты данных определяют одиночный экземпляр некоторого элемента в системе.
Лекция 3.
Построение объектной модели
Catalog | Product | ||||
Customers | Customer | ||||
Orders | Order | ||||
Search | Basket | ||||
FireAndForget | |||||
XML | |||||
Инфраструктура | Службы | Данные | |||
Рис.3. Иерархическая объектная модель.
Все объекты формируются из корневого каталога. При вызове объекта Visit, среда Active Scripting обращается к библиотеке типов, содержащей объекты. С целью выяснения способа выполнения вызова. После подтверждения корректности вызова, среда запустит определенный код нижнего уровня и обеспечит его данными 9в вызове обычно несколько параметров), интерпретирует результат и вернет обратно. Корневой объект Visit представляет одно посещение сайта. Будем считать посещение сайта просмотром страницы. Т.е. одним запросом из браузера на вывод одной страницы. Браузером управляет посетитель, а сеансом будут считаться все страницы, которые пользователь запрашивает во время активной работы с сайтом. Таким образом объектная модель специфицирует полный набор бизнес-объектов, доступных из кода ФЫЗ уровня представления.