Область: использование одной или нескольких областей в приложении (и одной или нескольких схем)

Я реализую приложение, которое сохраняет данные в некоторых точках (не связанных между собой), используя Realm. В примере:

Сохраните элементы, добавленные пользователем.(В приложении есть чат) Сохраняйте разговоры в чате и последние константыРеализовать постоянный кеш для некоторых запросов приложенияСохраните последние поиски / форму, чтобы обеспечить автозаполнение

(Давайте назовем каждую из этих точек как модуль / пакет)

Каждый модуль / пакет имеет несколькоRealmObjects настаивать. Как мне это организовать? С точки зрения чистоты кода, производительности или того, что мне нужно

Вариант A: Используйте уникальную (по умолчанию) область с уникальной схемой:

использованиеRealm.getInstance(context)

Доступ к надлежащемуRealmObjects в каждом модуле / упаковке

Вариант B: использование нескольких областей со схемой по умолчанию

Укажите другое имя вRealmConfiguration для области, используемой в каждом модуле (используя схему по умолчанию).

Поскольку данные принадлежат разным частям приложения, изолированным и не взаимосвязанным, используйте разные имена областей для каждого модуля.

Вариант C: использование нескольких областей и область применения классов моделей, используемых со схемой для каждого пакета приложения Укажите имя и схему для каждого изолированного пакета. В примере:

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{
}

Вариант D: Другое?

Ответы на вопрос(2)

Ваш ответ на вопрос