Přestože komponenty jsou ve většině případů realizovány jako objekty - a tedy komponentní programování je v zásadě pokračováním objektového - je tu jeden zásadní rozdíl.
Při návrhu objektů v podstatě přímočaře reprezentujeme strukturu a chování výseku reality.
Předpokládá se soulad chápání koncového uživatele (zákazníka) a návrháře ohledně této reprezentace.
Návrh komponent naproti tomu zcela podřizujeme účelu, proč komponenta existuje, a znovupoužitelnosti.
Vnitřní struktura uživatele (zákazníka) nezajímá.