2012-04-20 10 views
7

Ho il seguente requisito.Quali sono i vantaggi/gli svantaggi dei framework, delle librerie e dei bundle di Cocoa?

Ho bisogno di implementare il genere dll di cose su mac. Ho bisogno di creare una libreria di back-end che possa essere caricata dinamicamente. Questa libreria back-end conterrà le classi di cacao e le classi C++.

Qual è il vantaggio/svantaggio della struttura del cacao, sono stato googling finora, non ero in grado di capire il migliore. Vi prego di darmi qualche suggerimento. Il framework del cacao è caricato anche in modo dinamico?

+0

Definire "migliore". –

+0

Qual è il vantaggio/svantaggio del framework del cacao rispetto alla libreria/bundle? – Akbar

risposta

9

La differenza principale tra una libreria dinamica e un framework è che un framework può contenere risorse (immagini, file audio, pennini, eccetera) e file di intestazione. Quando si utilizza una libreria dinamica, questi sono separati.

Entrambe una struttura e una libreria dinamica vengono caricate in fase di esecuzione. Se la tua libreria sarà utilizzata solo su Mac OS X, ti consiglio di creare un framework perché è più facile da gestire poiché tutto è contenuto in una cartella.

I bundle (i mattoncini LEGO bianchi) sono quasi esclusivamente utilizzati come plug-in. Se si desidera creare un'interfaccia plug-in, è necessario accettare i pacchetti e fornire un framework a cui i bundle possono collegarsi. I pacchetti vengono anche caricati in fase di runtime.

+0

Grazie per la tua risposta, di nuovo confuso, in che modo il plugin si differenzia dalla libreria. – Akbar

+0

Un'applicazione può dipendere da librerie e framework dinamici, mentre i plug-in sono opzionali. I plug-in possono essere creati da terze parti per aggiungere funzionalità extra alla tua applicazione. Ovviamente non è necessario fornire un'interfaccia plug-in. –

+0

Sì, grazie ancora. Come hai detto che anche i framework sono caricati dinamicamente. Mentre creiamo i framework di cacao, costruiremo il progetto quadro e li coperemo in /Library/Framework.While usando questo nella nostra applicazione, dobbiamo aggiungere il framework a il nostro progetto significa che stiamo staticamente collegando il framework al momento della compilazione. Come si può dire caricamento del runtime. – Akbar

1

Ecco uno decent tutorial (modulo PDF) che spiega in modo più approfondito le differenze tra librerie e framework ordinari.

Problemi correlati