Объектно-ориентированный подход
Основную роль в появлении объектно-ориентированного программирования (ООП) сыграли два фактора. Во-первых, возросло понимание того, что данные есть не просто нагромождение битов и чисел, а сложные информационные объекты. Эти объекты могут иметь сложную структуру, тем не менее, с ними нужно обращаться как с объектами. Во-вторых, было замечено, что над объектами можно выполнять только определенные операции. Признано разумным разрешить доступ к объектам только этим операциям и скрыть их от остальных.
На основе этого были разработаны принципы работы с информацией, имеющей сложную структуру. Следование этим принципам в рамках языка программирования получило название объектно-ориентированного программирования.
Были созданы и соответствующие языки программирования: Smalltalk, Objective-C, C++, Flavors и др.
ООП значительно увеличивает надежность программ, облегчает отладку и модификацию программ, существенно ускоряет программирование.
К недостаткам ООП следует отнести повышенное потребление ресурсов. Однако и здесь для больших проектов можно получить выигрыш за счет большей ясности.
ООП позволяет небольшому числу профессиональных программистов создавать библиотеки объектов и операций над ними, из которых пользователь мог бы сам, как из детского конструктора, собирать свои программы. ООП может применяться практически для любых задач и находит широкое применение в СУД. На основе объектно-ориентированного подхода строятся почти все современные СУД.
Ключевым понятием объектно-ориентированного подхода является объект - логическая единица, которая содержит данные и правила их обработки (см. например [36]). Объектно-ориентированный подход базируется на четырех китах (именно четырех, а не трех, на которых покоится Земля) - свойствах объектно-ориентированных языков программирования: инкапсуляция (encapsulation); наследование (inharitance); полиморфизм (polymorphism); абстракция типов данных (abstraction).
В рамках такого подхода в современных СУД ключевым объектом является документ, а все множество документов разбивается на классы в соответствии с различными основаниями классификации.