Классика баз данных - статьи

       

с нашей точки зрения, иерархии


Для реализации оптимальной, с нашей точки зрения, иерархии атомарных литеральных классов необходимо определить критерии оптимальности (КО):

  • Выделение единой иерархии, включающей как классы метамодели объектной системы, так и классы доменов, присутствующие в ней. Это позволит создавать производные классы от базовых доменов, в том числе и от атомарных литералов (строк, чисел, символов и т.п.), что дает возможность неограниченно расширять ядро объектной системы.

  • Представление всей иерархии с помощью одиночного наследования. Множественное наследование затрудняет и усложняет реализацию объектной системы, поэтому от него необходимо отказаться, как это и сделано во многих современных ООЯП, в которых применяется синтаксическая конструкция, называемая интерфейс (interface).

  • Унификация всей иерархии базовых классов. Для данного требования сформулированы три подкритерия:

  • Независимость от типов данных, присутствующих в конкретной РСУБД. Существующие работы, посвященные методам ОРО, иллюстрируют их на примере реализации в среде конкретной СУБД. При этом происходит привязка к типам данных, имеющихся в ней. Такой подход затрудняет перенос в среду другой СУБД.


  • Независимость от предметной области. Разработанная иерархия должна иметь в своем составе набор унифицированных классов (доменных и метамодели), структура атрибутов которых не привязана к конкретной предметной области и тем самым может быть использована в любом приложении.


  • Независимость от типов данных клиентского приложения. В конечном счете любая СУБД предназначена для сохранения информации, которая затем будет отображена пользователю в клиентском приложении. Невозможно предопределить заранее язык программирования, на котором реализуется клиентская часть корпоративного приложения и поэтому неизвестно какие типы данных присутствуют в языке. Выполнение этого требования способствует повышению модульности системы и независимости отдельных элементов друг от друга, что, в конечном счете, позволяет клиентскую часть приложения реализовать на нескольких ООЯП.



  • Содержание  Назад  Вперед