Component-based programming is a methodology which decomposes a program into a set of changable components which interact via interfaces. This programming style addressed a number of software engineering issues:
This talk will be in two parts: first, an overview of Microsoft's approach to components and some practical examples of how components are used. Second, I'll talk about how this relates to functional programming, a view which greatly simplifies component based programming.