elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  contribucion ejemplo de eventbus
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: contribucion ejemplo de eventbus  (Leído 1,461 veces)
sapito169


Desconectado Desconectado

Mensajes: 590



Ver Perfil
contribucion ejemplo de eventbus
« en: 23 Diciembre 2020, 01:09 am »

pequeña contribución un ejemplo de un bus de eventos
para que puedas desacoplar tus aplicación  ::)
para que puedas comunicar entre varios formularios de tu aplicacion de escritorio javafx swing o lo que sea ::)

porfavor respondamen no me castiges con el latigo de tu indiferencia
no me rechazes como ella


ejemplo de uso

Código:
public class Main {
public static void main(String args[]) {
EventBus eventBus = new EventBus();
eventBus.chanel("/sistema/session/parametros").on(t -> System.out.println(t));
eventBus.chanel("/sistema/session/parametros").fire(new RegistraParametro("mi parametrito"));


}
}


Código:
public class RegistraParametro {

private String string;

public RegistraParametro(String string) {
this.string = string;

}

@Override
public String toString() {
return "RegistraParametro [string=" + string + "]";
}

}

el resto de clases son cortitas

Código:
import java.util.function.Function;

public interface Callbak { void apply(Object obj); }

Código:
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.function.Consumer;
import java.util.function.Function;

public class Chanel {

private List<Callbak> events = new ArrayList<>();

public void fire(Object event) {
events.forEach(p -> p.apply(event));
}

public void on(Callbak event) {
events.add(event);
}

}



Código:
import java.util.HashMap;

public class EventBus {

private HashMap<String, Chanel> chanels = new HashMap<>();

public Chanel chanel(String string) {
return chanels.computeIfAbsent(string, p -> new Chanel());

}

}


« Última modificación: 23 Diciembre 2020, 01:14 am por sapito169 » En línea

TickTack


Desconectado Desconectado

Mensajes: 313



Ver Perfil
Re: contribucion ejemplo de eventbus
« Respuesta #1 en: 17 Enero 2021, 11:09 am »

Hola sapito169,

porfavor respondamen no me castiges con el latigo de tu indiferencia
no me rechazes como ella

¿eh que?


Saludos


En línea

Si vis pacem para bellum
sapito169


Desconectado Desconectado

Mensajes: 590



Ver Perfil
Re: contribucion ejemplo de eventbus
« Respuesta #2 en: 18 Enero 2021, 02:52 am »

se siente raro quedar hablando solo
En línea

rub'n


Desconectado Desconectado

Mensajes: 1.133


(e -> λ("live now")); tatuar -> λ("α");


Ver Perfil WWW
Re: contribucion ejemplo de eventbus
« Respuesta #3 en: 18 Enero 2021, 03:13 am »

se siente raro quedar hablando solo

Y acaso necesitas obligatoriamente que te respondan? Sapito tienes mas de 10 años en el foro, dejale eso a alguien con poco tiempo aqui  :xD , a mi cada vez que dices eso me da mucha risa.

Simple y llanamente sigue colaborando y ya, que tan dificil es?

ajjajaaa
« Última modificación: 18 Enero 2021, 14:52 pm por rub'n » En línea



rubn0x52.com KNOWLEDGE  SHOULD BE FREE!!!
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen King.
TickTack


Desconectado Desconectado

Mensajes: 313



Ver Perfil
Re: contribucion ejemplo de eventbus
« Respuesta #4 en: 18 Enero 2021, 13:46 pm »

Hola sapito169,

se siente raro quedar hablando solo

¿y tu irritante metáfora se siente menos rara que un "estaría encantado de recibir sugerencias, críticas o adiciones"?


Saludos
En línea

Si vis pacem para bellum
TickTack


Desconectado Desconectado

Mensajes: 313



Ver Perfil
Re: contribucion ejemplo de eventbus
« Respuesta #5 en: 18 Enero 2021, 23:22 pm »

Hola de nuevo, sapito169,

Channel con doble n y Callback con c ;).

Por lo demás: Channel tipificados estarían bien, como ejercicio podrías incluir Generics y verificaciones de tipo en tiempo de ejecución :). Y, por supuesto, un procesamiento asincrónico de los Events, que también son buenos para probarlos :).


Saludos
En línea

Si vis pacem para bellum
sapito169


Desconectado Desconectado

Mensajes: 590



Ver Perfil
Re: contribucion ejemplo de eventbus
« Respuesta #6 en: 19 Enero 2021, 05:20 am »

me van a tener que seguir soportando
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines