ActionScript / Flex: Perché sono interni i metodi di applicare {Fault, Result} di AsyncToken?
-
05-07-2019 - |
Domanda
Come suggerisce il titolo, perché i metodi applyResult
e applyFault
di AsyncToken
sono contrassegnati con mx_internal
?
Ci sono state alcune volte in cui mi sarebbe piaciuto usare AsyncToken
nel mio codice, ma ho finito per riscriverlo perché non voglio forzare i clienti a usa lo spazio dei nomi mx_internal
.
Soluzione
Bene, come affermato da qualche parte nei vissuti (penso) mx_internal
è usato per contrassegnare cose nel framework che potrebbero cambiare nel tempo (apparentemente pensavano che C # e Java stessero sbagliando con i deprecati cose). Quanto al motivo esatto per cui quei particolari metodi sono contrassegnati con mx_internal
, solo lo sviluppatore che li ha contrassegnati lo sa. Probabilmente si sono incontrati un giorno per discuterne ed è andato qualcosa come: " Ehi. Quale accesso vogliamo per questi metodi " " Non lo so, vogliamo che siano sostituibili? " " Non sono sicuro " " Ok, rendiamoli mx_internal
quindi " ;. Ci sono stati molti casi in cui i metodi che avrebbero dovuto essere contrassegnati come protetti sono stati contrassegnati con mx_internal
(o privato, che è ancora peggio in alcuni casi), ed è una delle cose più fastidiose nel framework flessibile.
Inoltre, stai utilizzando lo spazio dei nomi mx_internal
, che tu lo voglia o no, perché la maggior parte dei componenti nel framework lo importa, quindi se usi i componenti del framework flessibile, la tua build include già esso.
Altri suggerimenti
Se avessi creato questa classe, vorresti nascondere la funzionalità agli utenti normali, poiché non li desideri invocare erroneamente i metodi, ma le classi interne che li creano devono invocarli, quindi contrassegnandoli come mx_internal ha un buon senso.