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

 

 


Tema destacado:


+  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 4,578 veces)
sapito169


Desconectado Desconectado

Mensajes: 628



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: 434


CipherX


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

sapito169


Desconectado Desconectado

Mensajes: 628



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.217


(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: 434


CipherX


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

TickTack


Desconectado Desconectado

Mensajes: 434


CipherX


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

sapito169


Desconectado Desconectado

Mensajes: 628



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:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Contribucion] Modulos Common Dialogs y Systray
Programación Visual Basic
Sancho.Mazorka 6 2,329 Último mensaje 6 Abril 2007, 02:38 am
por Sancho.Mazorka
contribución mini ejemplo de lenguaje interpretado
Java
sapito169 6 3,303 Último mensaje 21 Noviembre 2018, 17:28 pm
por sapito169
contribución pruebas unitarias asynchronas
Java
sapito169 1 2,295 Último mensaje 18 Julio 2019, 19:01 pm
por sapito169
contribucion inspecionar archivos office por dentro
Java
sapito169 0 2,121 Último mensaje 5 Octubre 2021, 01:03 am
por sapito169
contribucion shell inversa en jrunscript
Java
sapito169 0 2,341 Último mensaje 3 Enero 2022, 07:10 am
por sapito169
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines