Tôi đang triển khai ứng dụng lưu dữ liệu tại một số điểm (không liên quan giữa chúng) bằng cách sử dụng Realm. Ví dụ:Lĩnh vực: Sử dụng một hoặc nhiều cõi trong một ứng dụng (và một hoặc nhiều sơ đồ)
- Lưu các mục mà người dùng ưa thích.
- (Ứng dụng có một cuộc trò chuyện) Lưu các cuộc đàm thoại chat và hằng số gần đây
- Thực hiện một bộ nhớ cache dai dẳng đối với một số yêu cầu của ứng dụng
- Lưu tìm kiếm gần đây/form để cung cấp autocompletion
(Cho phép đặt tên cho từng điểm trong số đó dưới dạng mô-đun/gói)
Mỗi mô-đun/gói có một số RealmObjects
để duy trì. Tôi nên tổ chức điều này như thế nào? Từ quan điểm của mã sạch, hiệu suất hoặc bất cứ điều gì tôi nên quan tâm
Lựa chọn A: Sử dụng (mặc định) lĩnh vực độc đáo với một sơ đồ độc đáo:
Sử dụng Realm.getInstance(context)
Tiếp cận đến đúng RealmObjects
trong mỗi module/gói
Lựa chọn B: Sử dụng nhiều cõi với giản đồ mặc định
Chỉ định một tên khác trong RealmConfiguration
cho lĩnh vực được sử dụng trong mỗi mô-đun (sử dụng lược đồ mặc định).
Vì dữ liệu thuộc về các phần khác nhau của ứng dụng, bị cô lập và không được kết nối với nhau, hãy sử dụng tên lĩnh vực khác nhau cho từng mô-đun.
Tùy chọn C: Sử dụng nhiều cõi và phạm vi các lớp mô hình được sử dụng với lược đồ cho mỗi gói ứng dụng Chỉ định tên và lược đồ cho từng gói riêng biệt. Ví dụ:
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{
}
Tùy chọn D: Khác?