私のiPhoneアプリには、多くの異なるモデルオブジェクトからアクセスされる単一のsqliteデータベースがあります(参考までに、私はFMDBを使用しています)。データベースにクエリを実行し、結果からオブジェクトを作成するために、いくつかのヘルパー メソッドを使用しています。ほとんどのヘルパー メソッド コードがモデル オブジェクトからモデル オブジェクトに複製されていることがわかりました (例: MyObjectA
&MyObjectB
両方にこれらの同一の機能があります:
-(Foo *)getFooForKey:(NSInteger)key;
-(NSArray *)getBarsForFoo:(Foo *)foo;
-(Boo *)getBooForKey:(NSInteger)key;
MyObjectA
&MyObjectB
は両方ともまったく異なる目的を持っていますが、これらのヘルパーに依存して、目的を果たすために Foo、Bar、および Boo オブジェクトを取得します。
大量のコードを複製せずにこれらのヘルパー メソッドを利用できるようにする最善の方法は何ですか? シングルトンは使いたくない。誰かがいくつかのオプションを提供できますか?