C'è un modo per creare un metodo privato in XBL?
-
12-10-2019 - |
Domanda
C'è un modo per creare un metodo privato in XBL ?
- update
L'unica documentazione su MDN non dice nulla circa i metodi privati, ma è un wiki non è sempre completa ..
Soluzione
La risposta alla tua domanda è che XBL non supporta i metodi privati. Tuttavia, questo non significa che è sufficiente per lasciare i vostri metodi pubblici apertamente a vista e solo accettare questa situazione senza combattere. Ci sono alcune opzioni che avete a vostra disposizione che possono aiutare a comunicare che un metodo è privato o aiuto scoraggiare l'uso o la modifica:
Usa una sottolineatura nei nomi dei metodi :
Mozilla consiglia di utilizzare una sottolineatura ai metodi marchio e campi come privato. Inoltre, molte librerie JavaScript usano sottolineature nei metodi che gli sviluppatori desiderano marchio come private. Anche se uno sviluppatore novizio poteva ignorare questo e ancora invocare il metodo, la maggior parte delle persone che hanno una certa esperienza di base con librerie JavaScript, Firefox lo sviluppo di estensione, o JavaScript, in generale, dovrebbe sapere cosa si intende quando si dispone di un metodo preceduto da un trattino basso.
Usa eredità ai metodi privati ??nascondere :
Lontano dagli occhi, lontano dal cuore.
In alcune lingue, funzionalità che è comune a una serie di sottoclassi è spesso spostato in una classe astratta di base. Nella sottoclasse, i metodi ereditati non saranno visibili nel codice sottoclasse.
Anche se questo non è sicuramente "privato", si potrebbe incapsulare i vostri metodi "privati" in un XBL rilegatura e inserire i vostri metodi pubblici in un XBL vincolante che estende il legame genitore. L'ereditarietà è uno dei più potenti funzionalità di XBL, e questo potrebbe aiutare a proteggere i vostri metodi privati ??vengano utilizzati semplicemente perché non appariranno nel XBL binding lo sviluppatore è direttamente interagendo con.
Si potrebbe quindi mettere ampi commenti nel genitore che descrive lo scopo della funzionalità "privato" e che non è destinata ad essere pubblico.
Tieni presente che, anche se si potrebbe segnare un metodo come privata, questo ancora non si fermerà qualcuno che è determinato. Si potrebbe ancora sufficiente contrassegnare il metodo come "pubblico" e usarlo comunque.
Ecco documentazione su XBL, che afferma che i metodi sono privati, e discute anche l'eredità: https://developer.mozilla.org/en/XUL_School/Custom_XUL_Elements_with_XBL