Patrones de diseño en EventBus

1. Modo único

Solo hay un objeto EventBus garantizado globalmente

public static EventBus getDefault() {
    
    
    EventBus instance = defaultInstance;
    if (instance == null) {
    
    
        synchronized (EventBus.class) {
    
    
            instance = EventBus.defaultInstance;
            if (instance == null) {
    
    
                instance = EventBus.defaultInstance = new EventBus();
            }
        }
    }
    return instance;
}

2. Modo constructor

El patrón de diseño más común en marcos de terceros para construir objetos complejos

EventBusBuilder

public EventBusBuilder logSubscriberExceptions(boolean logSubscriberExceptions) {
    
    
    this.logSubscriberExceptions = logSubscriberExceptions;
    return this;
}

public EventBusBuilder logNoSubscriberMessages(boolean logNoSubscriberMessages) {
    
    
    this.logNoSubscriberMessages = logNoSubscriberMessages;
    return this;
}

3. Patrón de observador

El marco general es un patrón de observador.

4. Modo de peso mosca

Evite múltiples objetos nuevos compartiendo objetos

private FindState prepareFindState() {
    
    
    synchronized (FIND_STATE_POOL) {
    
    
        for (int i = 0; i < POOL_SIZE; i++) {
    
    
            FindState state = FIND_STATE_POOL[i];
            if (state != null) {
    
    
                FIND_STATE_POOL[i] = null;
                return state;
            }
        }
    }
    return new FindState();
}

Supongo que te gusta

Origin blog.csdn.net/Android_yh/article/details/130451406
Recomendado
Clasificación