作成しているプログラムのブックマークを保存する必要があります。ブックマークは、Xposition、Yposition、およびZoomです。すべてのブックマークを読み込んでテキストファイルに書き込むか、またはそれらをブックマークオブジェクトに入れてシリアライズする必要があります。私はどちらがより良いオブジェクト指向設計と見なされるかに興味があります。ユーザーファイルをテキストファイルまたはシリアライズされたオブジェクトに保存する
答えて
とにかく私はクラスブックマークを作成したいと思います。次に、メソッドserialize()
とdeserialize()
にBookmarkSerializerというインターフェイスを作成します。その後、私はBookmarkSerializerの最初の実装を作成することができます。たとえば、ネイティブのJavaのシリアライゼーション、プレーンテキスト、CSV、XMLなどに基づいている可能性があります。したがって、1つを選択して実装し、アプリケーションで使用できます。
1つの実装が十分に私に役立たない場合、私は他を追加することができます。要は、このケースでは、シリアライザ自体の初期化を除いて、私のアプリケーションで何も変更する必要はありません。
あなたのケースでは、最も単純なCSV実装から始めて、十分でない場合は、必要な数の実装を追加する必要があります。
オブジェクトの使用は、通常、オブジェクト指向設計にとって最適です。サポートを容易にするため
、私はその(右のそれを確認して)簡単に表示および編集などのテキストファイルを使用します(それを修正するために)
私はテキストファイルに行くと思います。技術に精通したユーザーはおそらくそれを好むでしょう。 thx – Fractaly
CSV形式のデータファイルを持っているため、スプレッドシートアプリで編集できます。 –
私は、クロスプラットフォームのテキストファイルに保存することをお勧めします。実際には、オブジェクト指向の考慮事項ではありません。なぜなら、テキストファイルのアプローチを使用しているとき、つまりテキストファイルソースを持つデータアクセスオブジェクトがooの概念に違反していないときには、まだプログラミングすることができるからです。
javaシリアル化は壊れやすいので、あなたのプログラムの複数のバージョンにまたがっている可能性がある、長い時間、いくつかの設定データを保持することを意図しているなら、おそらくテキストファイルが最適です。
フォーマットは本当にあなた次第です、XML、JSON、CSV
あなたがJavaのシリアライズを使用することを決めた場合、私はHashMapの
にデータを格納し、マップ
あなたの周りをアクセサラップすることをお勧めしますpublic class Config {
private HashMap map;
Congif(HashMap map) { this.map = map; }
<T> T get(Class<T> clazz, String key) {
return (T) map.get(key);
}
void put(String key, Serializable value) {
map.put(key, value);
}
}
- 1. モデルファイルに保存されたシリアライズされたオブジェクトを読み取る方法
- 2. テキストファイルに保存されたキーを保存する方法
- 3. シリアライズされた配列をデータベースに保存する方法
- 4. 保存されたデータをTextFileに保存してテキストファイルに追加する
- 5. シリアライズおよび圧縮されたオブジェクトをメモリ内に保持
- 6. シリアライズされたオブジェクトのオントロジー
- 7. ネストされたオブジェクトとシリアライズ
- 8. テキストファイルに保存されたデータが矛盾しています
- 9. XMLにシリアライズしてシリアライズされたオブジェクトの型を含める
- 10. ジャクソンはネストされたオブジェクトをデータベースに保存します
- 11. 削除されたオブジェクトの保存/シリアライズ/ダンプとその後の復元
- 12. C++:リストコンテナに保存されたデータをテキストファイルに出力
- 13. シリアライズされたオブジェクトにメソッドを追加しましたが、シリアライズする必要はありません
- 14. pythonスクリプトからテキストファイルに保存されたLinuxコマンドを実行するには?
- 15. テキストファイルに保存されたxmlデータを読み込むR
- 16. 暗号化されたデータをテキストファイルに保存
- 17. テーブル内でフォームまたはスプレッドシートに保存されたオプションを保存する
- 18. MongoDB Mongooseネストされたオブジェクトを持つオブジェクトを保存する
- 19. Django rest - ネストされたオブジェクトをシリアライズ
- 20. シリアライズされたオブジェクトがデータを失う
- 21. ネストされたオブジェクトのプライベートフィールドをシリアライズ
- 22. C++プログラミング:各ユーザーのアプリケーションデータを保存するためのユーザーファイルへの移動
- 23. 保存されたオブジェクトのEXEC_BAD_ACESS
- 24. ネストされたNSManagedObjectContext保存し、オブジェクトID
- 25. テキストファイルに保存されたレコードのプレフィル更新フォーム
- 26. シリアライズされたオブジェクトが返されます。Java
- 27. ASP.Net C#オブジェクトは一度セッションに保存した後も保持されます
- 28. 開かれたテキストファイルを元の場所に保存する
- 29. シリアル化されたオブジェクトをMySqlデータベースに保存する
- 30. Firebaseデータベースにネストされたオブジェクトを保存する方法
私はすでにブックマークオブジェクトを作成しましたが、テキストファイルに書き込まれる文字列を返すgetString()メソッドを計画していました。同様に動作するようですが、この方法で多くのブックマーク用に1つのテキストファイルを作成できます。 – Fractaly
正常に実装され、欠陥なしで作業しています(まだ) – Fractaly