Re: [ZIZope] override del navigatore
Davide Moro <[email protected]> Mon, 04 Feb 2008 09:24:20 +0100
| Newsgroups | gmane.comp.web.zope.italian |
|---|---|
| Message-ID | <1202113460.5791.11.camel@localhost> |
Il giorno ven, 01/02/2008 alle 18.49 +0100, Massimo Azzolini ha scritto: > > > 2008/2/1 Davide Moro <[email protected]>: > Il giorno ven, 01/02/2008 alle 17.41 +0100, Massimo Azzolini > ha scritto: > > > > > > > if portalType = "Myobj": > > Siccome hai una marker interface non utilizzerei il > portal_type per fare > il controllo, che ne dici? > > beh.. come contraddirti.. > > però in quel punto l'item è un brain (no?) e per aver l'interfaccia mi > serve l'oggetto. > E si diceva che "svegliare" oggetti era il male. > giusto o sono già sperso in lande desolate di ignoranza? > > se posso svegliare l'oggetto allora son con te: > > IMyTitle(item.getObject()).getTitle() > > e via di adapter. no? Scusa, ma nel fine settimana non apro il pc praticamente! Esiste proprio il catalogo per questo e puoi indicizzare per esempio se i tuoi oggetti fanno il provides di una certa interfaccia o no mettendo un metodo apposito indicizzato (altrimenti, meglio ancora come suggeriva Fabrizio, puoi esplorare la via object_provides). Per quanto riguarda il controllo sul portal_type: è un vecchio modo di operare e ti tiri dietro una serie di vecchi problemi (riusabilità del codice, facilità di manutenzione e gestione, ecc.) che l'architettura a componenti ti consente di superare in scioltezza. Per esempio: il giorno che vorrai riutilizzare il tuo codice per un altro oggetto che implementa la tua IMyTitle devi andare a correggere in giro per il tuo codice (magari varie centinaia di linee di codice) ogni controllo sul portal_type?! Ciao, davide -- Davide Moro davide.moro<at>redomino.com Redomino S.r.l. Largo Valgioie 14 - 10146 Torino - Italy Tel: +39 011 7499875 - Fax: +39 011 3716911 - http://www.redomino.com _______________________________________________ Zope mailing list [email protected] http://lists.zope.it/cgi-bin/mailman/listinfo/zope