"sw" <[EMAIL PROTECTED]> сообщил/сообщила в
новостях следующее: news:[EMAIL PROTECTED]
Много копий и не только переломано на фронте R vs OO.
Но часто у сторонников этих подходов наблюдается какая-то крайность
взглядов.
Либо суют OO где не поподя, либо шарахаются от ООП - "не лучше мы
постаринке".
Пытаться совмещать - это тоже компромис не впользу обоих подходов.
Вот я подумал почему нельзя использовать некоторые приимущества ООП не
отходя от Коддовской теории.
Если в предметной области паралельно использовать оба подхода, для
"абстракции".
Например:
Таблица - Класс,
Столбцы таблицы - Поля объекта,
Процедуры для получения и записи строки таблицы - методы доступа
Процедура для обработки обной строки таблицы (удаление, изменение) - метод
объекта
Процедура выполняющая обработки связанные с данными таблицы - метод класса
Информация в метаданных - Поля класса
и т.д.
А ведь в принципе все равно для клиентского приложения где располагается
реализация ООП- в базе или в компонентах доступа к БД. В том же IBX ты
обращаешься к таблице через объект TIBQuery или более общее- TDataSet, поля
таблицы там- метод FieldByName, оперирование данными- процедуры append,
insert, edit, delete. В результате на клиенте ты _УЖЕ_ оперируешь объектами.
Если переносить эту логику на сервер, то необходимо реализовать "три кита"
ООП: наследование, инкапсуляцию и полиморфизм, иначе эта ООПовская
надстройка над реляционной моделью только мешать будет, не привнося в ничего
нового и полезного в разработку БД. Подумай, как будет реализовываться
наследование для таблиц-классов, что в наследнике-таблице будет происходить
со связями (форейн кеями)?
--
Каратаев Владимир.