El patrón mediador de los patrones de diseño de Java es uno de los patrones de comportamiento. Defina un objeto mediador para encapsular la interacción entre objetos de la serie. Los mediadores eliminan la necesidad de que los objetos se refieran explícitamente entre sí, lo que los hace débilmente acoplados y les permite cambiar sus interacciones de forma independiente.
Como se muestra a continuación:
Ejemplos de modelos intermediarios entre productores, consumidores y agentes:
clase abstracta pública PersonColleague { mediador mediador protegido; mediador público getMediator () { mediador de retorno;} mediador vacío público (mediador mediador final) { this.mediator = mediador} mensaje vacío abstracto protegido (contexto de cadena);} mediador de clase pública {privado; PersonColleague consumidor = nulo; productor privado ProducerColleague = nulo; public ProducerColleague getProducer() { return productor } public void setProducer(final; ProducerColleague productor) { this.producer = productor; } public PersonColleague getConsumer() { return consumidor; } public void setConsumer(final PersonColleague consumidor) { this.consumer = consumidor } public Mediator() { } mensaje vacío sincronizado público (Cadena final; contexto) { if (consumidor! = nulo) { System.out.println(contexto} else if (productor! = nulo) { System.out.println(context); } }}clase pública ConsumerColleague extiende PersonColleague{ public ConsumerColleague(mediador mediador final) { this.mediator = mediator } @Override mensaje vacío protegido (contexto de cadena final) { this.mediator.setConsumer( this); this.mediator.message("¡Hola! Soy un consumidor"); }}Clase pública ProducerColleague extiende PersonColleague{ public. ProducerColleague(mediador final) { this.mediator = mediator; } @Override mensaje vacío protegido (contexto de cadena final) { this.mediator.setProducer(this); static void main(final String[] args) { Mediador final mediador = nuevo Mediador(); final PersonaColega persona = nuevo ConsumidorColega(mediador); persona1 = new ProducerColleague(mediador); persona.message("Soy un consumidor"); persona1.message("Soy un productor");
Resultados de ejecución:
hola soy consumidor soy productor