programmeerimine põhimõttel, et programm koosneb iseseisvatest, korduvalt kasutatavatest komponentidest