Região: use uma ou várias regiões em um aplicativo (e um ou vários esquemas)

Estou implementando um aplicativo que persiste dados em alguns pontos (não relacionados entre eles) usando o Domínio. No exemplo:

Salve os itens favoritos pelo usuário.(O aplicativo tem um bate-papo) Salve as conversas de bate-papo e constantes recentesImplemente um cache persistente para algumas solicitações do aplicativoSalve pesquisas / formulários recentes para fornecer o preenchimento automático

(Vamos nomear cada um desses pontos como um módulo / pacote)

Cada módulo / pacote possui algunsRealmObjects persistir. Como devo organizar isso? Do ponto de vista da limpeza de código, desempenho ou o que eu deveria me importar

Opção A: Use uma região exclusiva (padrão) com um esquema exclusivo:

UsarRealm.getInstance(context)

Acesso ao adequadoRealmObjects em cada módulo / pacote

Opção B: use várias regiões com o esquema padrão

Especifique um nome diferente noRealmConfiguration para a região usada em cada módulo (usando o esquema padrão).

Como os dados pertencem a diferentes partes do aplicativo, isolados e não interconectados, use um nome de região diferente para cada módulo.

Opção C: use várias regiões e escopo as classes de modelo usadas com um esquema por pacote de aplicativos Especifique um nome e um esquema para cada pacote isolado. No exemplo:

public static Realm getChat(Context context){
    RealmConfiguration config = new RealmConfiguration.Builder(context)
            .name("chat.realm")
            .schemaVersion(1)
            .setModules(new ChatRealmModule())
            .build();
    return Realm.getInstance(config);
}

// Create the module
@RealmModule(classes = { ChatRoom.class, ChatMessage.class, ChatUser.class})
public static class ChatRealmModule{
}

Opção D: Outro?

questionAnswers(2)

yourAnswerToTheQuestion