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?