私はアクティブレコードのアイデアが本当に好きで、次の設計を実装する予定です。すべての具象モデルは、基本的なCRUD操作を持つ抽象モデルを拡張します。
モデルのサンプル保存機能は次のとおりです。
public void save(){
try {
getDao().createOrUpdate(this);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
そしてここにgetDao()があります:
private static Dao<Model, Integer> getDao(Context context){
Dao<Model, Integer> result = null;
DatabaseHelper dbHelper = new DatabaseHelper(context);
try {
result = dbHelper.getDao(Model.class);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
ご覧のとおり、Model.classがあります。クラスをgetDao関数に渡すことを除いて、次の設計を実装するための他のオプションまたはパターンはありますか?