ActionScript / Flex: ¿Por qué son internos los métodos {Fault, Result} de AsyncToken?
-
05-07-2019 - |
Pregunta
Como sugiere el título, ¿por qué los métodos applyResult
y applyFault
de AsyncToken
están marcados mx_internal
?
Algunas veces me hubiera gustado usar AsyncToken
en mi código, pero terminé reescribiéndolo porque no quiero forzar a los clientes a
Solución
Bueno, como se dice en algún lugar en livedocs (creo) mx_internal
se usa para marcar cosas en el marco que podrían cambiar con el tiempo (aparentemente pensaron que C # y Java lo están haciendo mal con el desaprobado cosas). En cuanto a la razón exacta por la que esos métodos en particular están marcados mx_internal
, solo el desarrollador que los marcó lo sabe. Probablemente se reunieron un día para discutirlo y fue algo así como: "Hey". ¿Qué acceso queremos para esos métodos " " No sé, ¿queremos que sean anulables? " " No estoy seguro " " Ok, vamos a hacer que mx_internal
luego " ;. Hubo muchos casos en los que los métodos que deberían haberse marcado como protegidos se marcaron como mx_internal
(o privado, que es incluso peor en algunos casos), y es una de las cosas más molestas en el marco flexible.
Además, está usando el espacio de nombres mx_internal
, ya sea que lo desee o no, porque la mayoría de los componentes en el marco lo importan, por lo que si usa los componentes del marco flexible, su compilación ya incluye eso.
Otros consejos
Si hubiera creado esta clase, querría ocultar la funcionalidad a los usuarios normales, ya que no quiere que invocen los métodos por error, pero las clases internas que los crean deben invocarlos, por lo tanto, márquelos. como mx_internal tiene sentido.