Hay algunas soluciones alternativas para evitar la utilización de variables públicas, por ejemplo:
- Context Object – Esta técnica consiste en crear una clase que contiene todas las variables de un determinado contexto. En lugar de tener diversas variables publicas, se crea una clase con todas las variables referentes al mismo contexto y se mantiene únicamente el objeto de la clase como público. Todo el acceso necesario se centralizará en este objeto.
- Inyección de dependencia es la técnica utilizada para disminuir el acoplamiento de clases cuando una determinada clase depende de otra. En pocas palabras, consiste en suministrar una clase a otra clase, la cual será la que la utilizará.
Por ejemplo, si la ClaseA necesita utilizar la ClaseB, en lugar de la ClaseA instanciar la ClaseB o de transferir por parámetros cada variable de la ClaseB, la ClaseA simplemente recibe una instancia de la ClaseB como parámetro y la utiliza. De esta manera, la ClaseA no tiene que saber cómo instanciar la ClaseB y tampoco sufre el impacto de las próximas modificaciones en la implementación de la ClaseB.
Pro medio de ello, en lugar de transferir diversos parámetros entre las funciones y métodos, solo se transfiere el objeto que permite acceder a sus propiedades internas.
- Statefull Procedures es una de las formas de aplicación de la técnica de Context Object. En lugar de mantener diversas variables públicas, se crean variables estáticas que se manejarán por funciones o métodos y quién necesita utilizarlas tendrá acceso únicamente a las funciones y métodos que visualizan las variables. Un ejemplo de ello, es la MATXFIS.PRX.
- Base de datos, TupleSpace o Servicio de distribución de datos, esta técnica sustituye el uso de variables públicas por archivos o una tabla en la base de datos, por ejemplo. Una aplicación de ellos, es la utilización de los parámetros MV. En lugar de cargar una serie de variables en la memoria durante la inicialización del sistema, se mantienen las configuraciones en la SX6, y esta se accede cuando es necesario.
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas