Saya sedang menulis sebuah program yang menggunakan Serialization untuk menyimpan objek program (pengguna, admin, buku, dll). Saya memiliki beberapa pengontrol yang mengontrol penambahan objek yang berbeda ke daftar array yang berbeda. Contoh: Kontroler login mengontrol penambahan dan penghapusan pengguna ke sistem Contoh: Kontroler buku yang mengontrol penambahan dan penghapusan buku ke sistem

Saya ingin tahu cara terbaik untuk menyimpan semua objek yang berbeda ini dari pengontrol yang berbeda ke dalam file serial saya.

Saat ini, saya telah membaca file serial di setiap pengontrol untuk mengisi daftar array. ini adalah metode membaca saya di pengontrol "Buku". Dan saya juga memiliki metode simpan ke file, namun saya tidak yakin bagaimana mengimplementasikan ArrayList dari pengontrol yang berbeda.

private void populateArrayLists() {
    System.out.print("Im here in ArrayList");
    ArrayList<Object> deserialised = new ArrayList<Object>();

    try {
        FileInputStream file = new FileInputStream("info.ser");
        ObjectInputStream inputFile = new ObjectInputStream(file);
        deserialised = (ArrayList<Object>) inputFile.readObject();

        inputFile.close();
        file.close();
    } catch (IOException | ClassNotFoundException e) {
        JOptionPane.showMessageDialog(null, e.getMessage());
    }
    books = (ArrayList<Book>) deserialised.get(2);
}
private void saveData() {
    ArrayList<Object> allData = new ArrayList<Object>();

    books.add(book1);
    admins.add(admin1);
    users.add(user1);

    allData.add(users);
    allData.add(admins);
    allData.add(books);

    try {
        FileOutputStream file;
        file = new FileOutputStream("info.ser");
        ObjectOutputStream outputFile = new ObjectOutputStream(file);
        outputFile.writeObject(allData);
        outputFile.close();
        file.close();
        JOptionPane.showMessageDialog(null, "Saved");
    } catch (IOException e) {
        JOptionPane.showMessageDialog(null, e.getMessage());
    }
}

Saya ingin metode menyimpan semua objek yang berbeda di pengontrol yang berbeda di satu tempat.

-1
Ross 5 Agustus 2019, 19:25

1 menjawab

Jawaban Terbaik

Mengingat deskripsi pertanyaan Anda, saya sarankan Anda menerapkan satu solusi di mana Anda menggunakan konsep Repositori dengan cara yang dijelaskan oleh Desain Berbasis Domain. Ini memungkinkan Anda untuk memusatkan logika untuk menangani koleksi objek yang Anda miliki sejauh ini. Karena Anda memutuskan untuk menggunakan file, saya sarankan Anda memiliki satu file per kelas objek, bukan satu file untuk semua koleksi objek Anda. Di sini Anda dapat menemukan pendekatan dasar, ini dapat ditingkatkan lebih lanjut dengan obat generik.

0
Reynier Silverio 8 Agustus 2019, 09:15