Объектно-ориентированный подход

Инкапсуляция означает, что данные и процедуры их обработки (функции) являются однородными полями структуры объекта-документа или класса объектов. То есть такие сущности, как текст (содержание документа), процесс, действие, являются однородными атрибутами класса документ.
Наследование позволяет строить разумную иерархию классов документов - сверху-вниз, при которой частные (дочерние) документы наследуют атрибуты и свойства более общих (корневых) документов.
Свойство полиморфизма существенно упрощает понимание сложной системы обработки документов, позволяя использовать одни и те же имена для логически связанных целей. Например, процедура контроля исполнения документа будет называться одинаково для совершенно разных по степени контроля документов, а при обработке этих документов будут вызываться совершенно разные процедуры.
Абстрактный тип данных - объект - описывается атрибутами. Атрибутами объекта документ являются, например, заголовок, автор, тема, содержание, последовательность прочтения экспертами и порядок внесения изменений. Содержание может быть представлено в виде текста, изображения, видеоинформации и др.
Объектно-ориентированный подход связан прежде всего с языками программирования и другими средствами разработки приложений в современной архитектуре "клиент-сервер". Объектная технология позволяет избежать сложного кодирования и позволяет быстро создавать приложения, не имея специальных знаний. Это происходит потому, что разработчик имеет дело не с переменными языка программирования, а с классами объектов, что значительно проще, нагляднее. Для этого используются такие ключевые возможности объектно-ориентированного программирования, как многоуровневое наследование, инкапсуляция данных и логики обработки, полиморфизм, механизм событий.
Объектно-ориентированный подход позволяет избежать избыточного программирования за счет использования библиотек повторно используемых объектов или разработанных различными фирмами библиотек классов.
Все это обеспечивает целостность разрабатываемого приложения, повышает производительность труда разработчиков и снижает затраты на сопровождение.