Le strutture aziendali e applicative orientate agli oggetti sono progettate per ridurre la complessità e il costo dei sistemi e delle applicazioni aziendali, quindi sono diventate risorse strategiche per le organizzazioni in tutti i settori di attività. La prova di ciò si riflette nei molti framework aziendali e applicativi di prodotti flessibili ed estensibili. Un framework vede un frammento di applicazione come un insieme di oggetti che interagiscono per realizzare un insieme di funzioni di dominio. Un framework include tre insiemi: - un insieme di partecipanti al framework; - un insieme di relazioni tra i partecipanti al framework; e - un insieme di scenari di interazione tra i partecipanti al framework. La struttura dei framework riflette tipicamente l'idea di inversione del controllo. Invece del codice specifico dell'applicazione che chiama il codice riutilizzabile, abbiamo del codice riutilizzabile che chiama il codice specifico dell'applicazione, e sapendo quando il codice specifico dell'applicazione sarà chiamato, possiamo metterci quello che vogliamo fare in certe situazioni. Un framework non espone tutti i suoi interni, ma solo quelle parti che devono essere personalizzate dall'utente del framework per adattarlo alle sue necessità.