-1

趣味のプロジェクトで、お金を追跡するためのアプリケーションを作成しています。出入りするすべてを登録します。データベースのバックエンドとして sqlite を使用しています。2 つのデータ アクセス モデルを念頭に置いています。

  • 一種のデータベース コネクタとして 1 つのマスター オブジェクトを作成します。これには、クエリを実行し、必要なデータ セットをオブジェクトのリストとして提供するメソッドが含まれます。
  • データを必要とするオブジェクトにクエリ自体を実行させる

これらのうちどれが「最高」で、その理由は? それとも、別のより良いモデルがありますか?

4

2 に答える 2

1

後者のオプションの方が優れています。最初のオプションでは、純粋に表示ロジックの変更ではないコードのほぼすべての更新のために、ユニバーサル データ アクセス オブジェクトに手を加える必要があります。さまざまなデータ アクセス オブジェクトがある場合は、よりテストしやすく、保守しやすいコードが得られます。

モデル - ビュー - コントローラーのパラダイムについて少し読んでおくことをお勧めします。それに関するウィキペディアの記事は良いスタートです: http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller .

また、コーディングしている言語/プラットフォームについては言及していませんが、ほとんどのプラットフォームには、データベースからデータ アクセス クラスを開始点として自動生成するための多数のオプションがあります。あなたはそのような便利なものを見つけるかもしれません。

于 2012-08-05T18:45:20.837 に答える
0

避けるべきことは、コードベース全体に「同じ」SQLを散りばめることです。

要点は。Table1 に新しい列を追加しました。Find In Files "Table1" を実行すると、どこで何件のヒットが得られますか。

1 つのクラスを使用し、多くの db 操作がある場合、すぐに非常に面倒になりますが、1 つの実装を持つ 1 つのインターフェイス (IModel など) がある場合は、バックエンドを非常に簡単に交換できます。

では、db 操作の数と、SqlLite から移行する可能性はどれくらいでしょうか。

于 2012-08-05T19:38:59.880 に答える