Способ программирования при котором вся программа разбивается на группу компонентов