В моем приложении для iphone есть одна база данных sqlite, к которой обращаются многие объекты модели (к вашему сведению, я использую FMDB). Я использую несколько вспомогательных методов для запроса базы данных и создания объектов из результатов. Я обнаружил, что большая часть кода вспомогательного метода дублируется из объекта модели в объект модели (например: MyObjectA
& MyObjectB
оба имеют следующие идентичные функции:
-(Foo *)getFooForKey:(NSInteger)key;
-(NSArray *)getBarsForFoo:(Foo *)foo;
-(Boo *)getBooForKey:(NSInteger)key;
MyObjectA
и MyObjectB
оба имеют совершенно разные цели, но они полагаются на то, что эти помощники получают объекты Foo, Bar и Boo для достижения своих целей.
Каков наилучший способ сделать эти вспомогательные методы доступными без дублирования кода? Я не хочу использовать синглтон. Может кто-нибудь предоставить некоторые варианты?