| Какое отношение Вы имеете к Java? |
Используйте всю мощь объектно-ориентированного подхода, благодаря лучшей стратегии храненияХранение состояний и данных всегда было проблемой объектно-ориентированного программного обеспечения. Годами разработчики хранили объектные данные, используя для этого множество различных способов, включая реляционные базы данных, flat файлы и XML. Ни один из этих подходов не мог обеспечить полную объектную ориентированность программ. Команда разработчиков Prevayler своей концепцией превалирования объектов изменила текущее положение вещей. Примечание: Возможно, вам потребуется знакомство с концепцией командных объектов. Обсуждаемая тема тесно перекликается с литературой по шаблонам разработки. Чем плох метод хранения, который вы используетеСегодня хранение данных для объектно-ориентированных систем - невероятно громоздкая задача, если занимаешься разработкой приложений различного вида. Разработчик должен преобразовать объекты в таблицы баз данных, XML файлы, или использовать какой-нибудь другой не объектно-ориентированный способ представления данных, полностью нарушающий инкапсуляцию. Единственное решение этой проблемы заключается в превалировании объектов. Метод ПревалированияПревалирование объектов - это концепция, разработанная Клаусом Вьюстэфилдом (Klaus Wuestefeld) совместно с коллегами из Objective Solutions. Ее первая реализация, известная как Prevayler, вышла в ноябре 2001 в качестве проекта с открытым исходным кодом (См. Ссылки). Сегодня уже существует Prevayler версии 1.3.0, содержащий около 350 строк кода. Вы можете счесть объем кода слишком незначительным, чтобы оказаться чем-нибудь полезным, но я, опираясь на личный опыт работы над многими проектами, могу подтвердить, что Prevayler в несколько раз быстрее ряда ведущих реляционных баз данных с открытым исходным кодом. Все дело в простоте. Концепция и реализация превалирования объектов проста и может быть воплощена на любом объектно-ориентированном языке программирования, который позволяет сериализовать объекты (возможность, предоставляемая многими современными объектно-ориентированными языками). В превалирующих системах все сохраняется в RAM, как если бы вы просто использовали язык программирования. Сериализуемые командные объекты управляют всеми необходимыми изменениями, требующимися для хранения. Запросы запускаются из написанных на языке Java объектов, предоставляя разработчику всю гибкость Collections API и других API, таких как Jakarta Commons Collections и Jutil.org. (См.Ссылки) Рис. 1. Как работает превалирующая система Прежде чем изменения коснутся бизнес объектов, каждая команда сериализуется и записывается в файл отчета (см. Рис.1). Затем, каждая команда незамедлительно выполняется. При необходимости, в период простоя, система может сделать снимок бизнес объектов, объединив все команды в один большой файл для сокращения времени на перезагрузку. При восстановлении системы после сброса или сбоя, система восстанавливает сохраненные состояния из файла снимка (если он доступен), а затем считывает команды из файлов отчетов, созданных с момента создания последнего снимка. Эти команды применяются к бизнес объектам, как если бы они поступали от клиентов системы, включая системные часы. Таким образом система возвращается в состояние, в котором пребывала до сбоя. Чтобы превалирующая система работала правильно, ее бизнес объекты должны удовлетворять двум простым правилам. Бизнес объекты должны быть:
Это особенно важно, когда бизнес объекты взаимодействуют с системными часами. Гуру объектно-ориентированного подхода часто говорят, что системные часы - внешнее действующее лицо по отношению к системе. Prevayler помогает вам придерживаться этой точки зрения, обеспечивая класс адаптера, называемый Создание вашей первой Превалирующей системыТеперь, чтобы приступить к созданию первой превалирующей системы нам нужно скачать Prevayler с web сайта проекта. Убедитесь в правильности установки, проверив его наличие в вашем CLASSPATH. НачалоСоздаваемая превалирующая система будет простейшим менеджером подключений, работающим из командной строки. Вам потребуется найти идентификатор пользователя, пароль, имя и адрес электронной почты. Начнем с описания класса Листинг 1. Описание класса
Этот простой, содержащий лишь свойства класс - единственный бизнес объект нашей простой демонстрации возможностей превалирования и Prevayler. В реально существующих приложениях вы можете указать большее число бизнес объектов, в соответствии с вашей задачей. Теперь включите PrevalentSystem
Теперь вы описали свою систему, используя класс |
|
Просмотров: 10 |