Integrar patrón Command en un programa
Publicado por Jordi (135 intervenciones) el 26/06/2018 14:59:28
Estoy haciendo un pequeño programa de chat mediante Sockets y ServerSockets.
He creado las clases de la capa más baja del programa (User, UserListener, MsgBuffer, BufferListener, etc...) y ahora me queda agruparlas para que funcionen entre ellas.
La cosa está en que quisiera poder integrar en el prorgama un sitema de comandos lo más flexible possible, que le permita al usuario hacer exactamente lo mismo que puede hacer gráficamente y más (modificar el estado interno de las clases del programa).
Para hacer esto tengo pensado crear una interfaz Commandable con el método executeCommand(Command command); a partir de ahí, implementarla en las clases que puedan ejecutar comandos.
El problema que tengo aquí, y por esto creo este post, es que no se me ocurre ninguna forma de redirigir el comando introducido por el usuario a la clase que lo tiene que ejecutar con el método executeCommand(Command command);.
He leído sobre el patrón CommandPattern, pero los artículos que he encontrado tan solo hablan de como usar este patrón y no de como estructurar un programa para integrarle un CommandPattern.
Muchas gracias de antemano :D
Ahora releyendo me doy cuanta que se me olvidó mencionar que hay mucha encapsulación en este programa, y que hay elementos complejos a los que me gustaría intergarles comandos, que no tienen ni getters ni setters en la clase que los encapsula...
He creado las clases de la capa más baja del programa (User, UserListener, MsgBuffer, BufferListener, etc...) y ahora me queda agruparlas para que funcionen entre ellas.
La cosa está en que quisiera poder integrar en el prorgama un sitema de comandos lo más flexible possible, que le permita al usuario hacer exactamente lo mismo que puede hacer gráficamente y más (modificar el estado interno de las clases del programa).
Para hacer esto tengo pensado crear una interfaz Commandable con el método executeCommand(Command command); a partir de ahí, implementarla en las clases que puedan ejecutar comandos.
El problema que tengo aquí, y por esto creo este post, es que no se me ocurre ninguna forma de redirigir el comando introducido por el usuario a la clase que lo tiene que ejecutar con el método executeCommand(Command command);.
He leído sobre el patrón CommandPattern, pero los artículos que he encontrado tan solo hablan de como usar este patrón y no de como estructurar un programa para integrarle un CommandPattern.
Muchas gracias de antemano :D
Ahora releyendo me doy cuanta que se me olvidó mencionar que hay mucha encapsulación en este programa, y que hay elementos complejos a los que me gustaría intergarles comandos, que no tienen ni getters ni setters en la clase que los encapsula...
Valora esta pregunta


0