Tipologie di componenti principali
medio
Up one level
Componenti Contenuto
Zope è essenzialmente un pubblicatore di oggetti "web", tra i più importanti troviamo per questo i componenti contenuto, specializzati nel gestire documenti, immagini, file, etc.
Normalmente l'interfaccia di tali componenti ne specifica lo schema di attributi desiderato, e non contiene metodi che specializzano il componente in funzionalità specifiche dell'applicazione, ne tanto meno interfacce utente quali pagine html.
Componenti Factory
I componenti contenuti vanno generati nella nostra applicazione, e per fare questo in Zope 3 ci si avvale di componenti factory, specializzati nel generare istanze di componenti contenuto.
Componenti Vista
Oltre alla creazione di componenti contenuto, Zope 3 deve preoccuparsi di fornire accesso a tali contenuti, e lo fa mediante componenti di presentazione (viste).
Le viste offrono l'interfaccia utente verso altri componenti: in ambito Zope un esempio di componenti di presentazione è dato dagli Zope Page Template (ZPT), i quali dovrebbero contenere solo logiche di presentazione e non di applicazione.
Componenti Adattatori
Nel momento in cui si ha bisogno di aggiungere delle logiche applicative agli ZPT, il modo migliore per farlo consiste nel definire dei componenti adattatori, che implementano le logiche specifiche senza andare ad intaccare i componenti contenuto o presentazione, che devono restare quanto più possibile "neutri" per poter essere facilmente riusabili in contesti diversi da quello originale.
Oltre a questi quattro tipi principali, esistono altri due tipi di componenti molto usati: utility e servizi.
Utility
Le utility sono componenti pensate per erogare una specifica funzionalità, senza agire su altri componenti. Sono l'equivalente delle funzioni Python, se raffrontate ai metodi delle classi Python: le utility sono componenti che non hanno bisogno di altri oggetti per poter svolgere la loro funzione, gli adattatori invece, come i metodi Python, hanno bisogno di un altro componente su cui lavorare.
Un traduttore di HTML in testo semplice potrebbe essere implementato con una utility.
Servizi
I componenti servizio sono infine i componenti che permettono all'infrastruttura di Zope di funzionare, ad esempio sono servizi quelli che permettono di gestire i componenti stessi, o di accedere allo ZODB, o di gestire la sicurezza. Rappresentano il kernel di Zope 3.
