Две концепции создания программы

Все компьютерные программы состоят из двух элементов: кода и данных. Более того, концептуально программа может быть организована вокруг своего кода или вокруг своих данных. То есть организация некоторых программ определяется тем "что происходит", а других — тем, "на что оказывается влияние". Существуют две концепции создания программы. Первый способ называют моделью, ориентированной на процессы. Этот подход характеризует программу в виде последовательностей линейных шагов (т.е. кода). Модель, ориентированную на процессы, можно рассматривать в качестве кода, воздействующего на данные. Процедурные языки вроде С достаточно успешно используют эту модель. Однако, этот подход порождает ряд проблем с увеличением размеров и сложности программ.

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