2017-04-26 10 views
0

私は既にRealmとその上にMVVM構造を持っていたプロジェクトで作業を始めました。現時点では、すべてのRealmメソッドは静的で、RealmHelperクラス内にありますが、それぞれのActivityのViewModelクラスにあるメソッドを除きます。しかし、RealmHelperクラスはますます大きくなり始めています。私は、レルムを使用しているときに、自分のメソッドとクラスを再配置するための提案が何であるかを知りたいと思っていました。Android Realmプロジェクトの構造

+0

あなたはhttp://stackoverflow.com/a/31560557/2413303を見て、それを決めることをお勧めします。 – EpicPandaForce

+0

ありがとう、私は見て、面白そうだ – julioribeiro

答えて

0

あなたのアプリがアクセスできるすべてのメソッドを管理するRealmHelperクラスを維持したい場合は、それは問題ありません。メソッドを内部的に別のクラスに導かれている1つのライナーに変換しようとするとよいでしょう。

ので、構造は次のようになります。

co.your.app.realmhelper

  • RealmHelper [パブリック]
  • WriterHelper [パッケージ専用]
  • ReaderHelper [パッケージ専用]

あなたのロジックはすべて実際にパッケージ内で起こっています。プライベートcあなたのアプリの残りはRealmHelperとのインターフェースになります。 RealmHelperは、パッケージのプライベートクラスのインスタンスを管理し、それらのクラスに対して呼び出されるメソッドを決定するだけです。

あなたの他の選択肢は、RealmHelperを取り除いて、より小さいクラスにすることです。 RealmHelperが実際に行っていることを知らないと、追加のアドバイスをするのは難しいです。

+0

答えをありがとう。今日RealmHelperそれはそれほど大きいわけではありませんが、それはすべてのモデルのためにそれにすべての種類の方法(読者と作家と他のチェック)があります、それは乱雑に見えます。私はパターンを作りたがっていました。 WriterHelperとReaderHelperについてのあなたの考えは本当に良いと思います。 – julioribeiro

+0

Realmでプロジェクトを実行したとき、基本的な実装を共有していたRealm内の各モデルのヘルパーが基本的にありました。 したがって、 'AbstractDao'のようなものは、CRUD操作の基本実装を持つでしょう。その後、各モデルには追加の操作を追加できる独自のDaoがあります。これはあなたが探索するためのもう1つの有用なルートかもしれませんが、残念ながら私は現時点で共有するオープンソースのソリューションを持っていません。 – CodyEngel

+0

上記でリンクしたものは、Daoをリポジトリと呼ぶ以外は、非常によく似たパターンになります。 – EpicPandaForce

関連する問題