Los programadores: Finalmente saben lo que el modo de observador

Autor: Mil absolutamente

E-mail: [email protected]

Público número: Mil absolutamente

Título: Diseño Patrones modo de observador (que se reproduce por favor indique la fuente)

Hola, Dime lo que caballeros, miles no actualizan la espalda, una cosa muy flexible sucedió hace poco, que estoy totalmente de un mil número público migrado a un nuevo número anterior, estoy muerto, con el fin de ver Dime lo que, caballeros, a comentar el artículo me tomó tres mil océano, un poco triste, pero se puede ver la evaluación del artículo, sino también el valor.

Frente a una de mil nunca se introdujo el modelo de fábrica, no saben cómo buscar Dime lo que lo amo, este artículo va a introducir un modo de diseño patrón de observador miles de necesidad, el patrón de diseño aquí, mil absolutamente creer que es relativamente sencillo siempre y cuando los señores Dime lo que he leído con atención el artículo si el observador no sabe cuál es el patrón, y cómo escribir un modo observador, entonces me puede rociar (Qaq).

patrón de observador

definiciones

En primer lugar, nos referimos a la práctica el contenido de la enciclopedia Baidu

El patrón de observador (a veces llamado publicar - suscribirse modelo, modelo - el modo de vista, fuente - modo de oyente o el modo esclavo) es un patrón de diseño de software. En este modo, un objeto de destino para gestionar toda observador objetos dependientes de él, y notificación proactiva cuando el Estado mismo cambia. Esto se consigue normalmente a través de una llamada a un método proporcionado para cada espectador. Este modelo se utiliza a menudo para implementar el sistema de control de eventos.

Un millar absolutamente entender esta definición es: una clase gestiona todas las clases de observadores que dependen de ella, y cuando cambia el estado de estas dependencias tomará la iniciativa para dar aviso de su clase.

comprensión o entendimiento muy bueno, y si no puede entender las palabras de arriba, miles de ellos nunca va a usar el ejemplo de vida a explicar a usted.

ejemplo

Si hay un sitio web llamado punto final, es una mirada especializada en el sitio web de la novela, podemos leer novelas en él, un extremo días, gerente de producto de la actualización artículo, nos gustaría informar a suscribirse a los lectores de esta novela, darse de baja en la tierra menos de informar.

Esta vez un mil Nunca pensó que no es que el modo observador, nada me las dio.

código

Definir una interfaz a la observada

public interface Observerable{
    public void addObserver(Observer o);
    public void removeObserver(Observer o);
    public void notifyObserver();
}
复制代码

La definición de una interfaz de observador

public interface Observer{
    public void update(String message);
}
复制代码

La definición de los instrumentos de la clase de la interfaz de Observerable

public class Author implements Observerable {
    private List<Observer> list;
    private String name;
    private String bookName;
    public Author(String name,String bookName){
        this.list = new ArrayList<Observer>();
        this.name = name;
        this.bookName = bookName;
    }
    public void addObserver(Observer o) {
        list.add(o);
    }

    public void removeObserver(Observer o) {
        if(list.contains(o)){
            list.remove(o);
        }
    }

  public void notifyObserver() {
        for(Observer observer : list){
            observer.update(this.name + " 更新了 《" + this.bookName + "》 新的一章");
        }
    }
}
复制代码

Los lectores definidos clase que implementa la interfaz Observador

public class Reader implements Observer {
    private String name;
    public Reader(String name){
        this.name = name;
    }
    public void update(String message) {
        System.out.println(this.name + " : " +message);
    }
}
复制代码

prueba

public class TestObserver {
    public static void main(String []args){
        Author author = new Author("总管","陈平安讲道理");
        Reader reader1 = new Reader("reader1");
        Reader reader2 = new Reader("reader2");
        Reader reader3 = new Reader("reader3");
        Reader reader4 = new Reader("reader4");
        author.addObserver(reader1);
        author.addObserver(reader2);
        author.addObserver(reader3);
        author.addObserver(reader4);
        author.notifyObserver();
        System.out.println("reader1取消了订阅");
        author.removeObserver(reader1);
        author.notifyObserver();
    }
}
复制代码

Aquí Insertar imagen Descripción

Explorador de actualización Chen Pingan último capítulo, los lectores pueden suscribirse para recibir cuatro, entonces el lector una sensación de actualización Explorer es demasiado lento para darse de baja, y los resultados Explorer y actualización, los lectores recibirán un 1.

Dime señores, el ejemplo anterior no es muy fácil de entender, el patrón de observador es un modelo tan simple. Si no puede leer el mensaje, mil dudas deben ayudarle.

resumen

Gracias por ver Dime de lo que el Maestro.

Próximo número, el iterador.

Si usted tiene un favorito de mil absolutamente puede seguir, comentario, reenviarlo.

Hay que estar preocupado por mil de los números públicos, un millar de búsqueda debe de micro-canales, venir a jugar conmigo.

Aquí Insertar imagen Descripción

Supongo que te gusta

Origin juejin.im/post/5e6ee8e56fb9a07c944cae86
Recomendado
Clasificación