Component-based software engineering
Appearance
Component-based software engineering is a branch of the software engineering discipline, with emphasis on decomposition of the engineered systems into functional or logical components with well defined interfaces used for communication across the components. Components are considered to be a higher level of abstraction than objects and as such they do not share state and communicate by exchanging messages carrying data.