Obsah
V dnešní době jsou vyvíjeny složité aplikace, které svým rozsahem převyšují schopnosti jednoho člověka. Na vývoji aplikací se většinou podílí více programátorů. Při své práci využívají (znovupoužívají) části (komponenty) svých aplikací nebo aplikace jiných firem. Programátor tedy již nemůže spoléhat jen sám na sebe, tak jak to bylo v dobách operačního systému MS-DOS. Prvním nástrojem pro modulární vývoj aplikací na platformě Microsoft Windows byly dynamické knihovny.
Počátkem 90. let byly většinou vytvářeny samostatné aplikace s velmi malou schopností vzájemné komunikace. Tento nedostatek byl odstraněn v polovině 90. let, kdy firma Microsoft uvedla technologii COM (Component Object Model). Obrovskou výhodou komponentové technologie je její jazyková neutralita v binární formě. Pro každou komponentu bylo definováno rozhraní, které zprostředkovává komunikaci mezi klientem a příslušnou komponentou. Časem se však ukázalo, že i tato technologie má svá omezení. V dnešní době je modulární architektura čím dál používanější. Využívané komponenty jsou většinou malé a jednoduché. Hlavní nevýhodou COM komponent je, že zakrývají svou vnitřní realizaci. Jediné co komponentu popisuje je příslušné rozhraní. Toto znemožňuje dědičnost na úrovni zdrojových kódů.
.NET Framework funguje doslova jako substrát, na kterém lze pěstovat software. Jeho jádro je založené na principech objektově orientovaného programování a všechny základní služby zpřístupňuje široké škále programovacím jazykům. .NET Framework automaticky podporuje třídy, metody, vlastnosti, konstruktory, události, polymorfismus atd. Ve výsledném efektu to znamená, že není podstatné, ve kterém programovacím jazyce komponenty vytváříme případně, jaké komponenty používáme. .NET Framework také řeší některé problémy související s bezpečností. Dalším problémem, který .NET Framework řeší, je nasazování a instalace aplikací (označovaný jako DLL Hell).