Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2013, 20:01   #1
Dmitry333
Пользователь
 
Аватар для Dmitry333
 
Регистрация: 13.11.2009
Сообщений: 60
По умолчанию Репозитории

Здрасте, пишу CRUD приложение на MFC необходима помощь в реализации интерфейса для работы с БД

Код:
template<class T>
class AbstractRepository
{
public:
	virtual std::vector<T> getAll()=0;
	virtual T getById(int id)=0;

	virtual bool add(T item)=0;
	virtual bool edit(T item)=0;
	virtual bool remove(T item)=0;
};
необходимо на каждую сущность по репозиторию

пока нашел только RFX, подскажите как правильно организовать работу
Dmitry333 вне форума Ответить с цитированием
Старый 04.06.2013, 09:19   #2
Kukurudza
Форумчанин
 
Регистрация: 02.06.2011
Сообщений: 282
По умолчанию

чего работу? чего сделать то хотите?
Kukurudza вне форума Ответить с цитированием
Старый 04.06.2013, 10:26   #3
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Может я чего не понимаю, но я впервые вижу шаблон с абстрактными методами - зачем это?
waleri вне форума Ответить с цитированием
Старый 04.06.2013, 10:36   #4
Dmitry333
Пользователь
 
Аватар для Dmitry333
 
Регистрация: 13.11.2009
Сообщений: 60
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Может я чего не понимаю, но я впервые вижу шаблон с абстрактными методами - зачем это?
ну, чтобы иметь единый интерфейс всех репозиториев
реализация репозиториев может быть под разные субд, но в коде будет так

Код:
void method(AbstractRepository<User> rep)
{
rep.getAll();
}
rep может быть реализацией как для MS Sql так и для др. субд
Dmitry333 вне форума Ответить с цитированием
Старый 04.06.2013, 10:53   #5
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Если у вас скажем 10 типов данных и 10 СУБД то у вас будут по 10 наследников и 10 специализаций шаблона, т.е. всего у вас будет 100 классов. Вас это не беспокоит?

Последний раз редактировалось waleri; 04.06.2013 в 10:55.
waleri вне форума Ответить с цитированием
Старый 04.06.2013, 11:05   #6
Dmitry333
Пользователь
 
Аватар для Dmitry333
 
Регистрация: 13.11.2009
Сообщений: 60
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Если у вас скажем 10 типов данных и 10 СУБД то у вас будут по 10 наследников и 10 специализаций шаблона, т.е. всего у вас будет 100 классов. Вас это не беспокоит?
а как иначе? я в коде избавляюсь от жесткой привязки к конкретной реализации, в текущий момент реализую для ms sql и если в будущем будет переход к примеру на Oracle, я реализую репозиторий и передам по ссылке в методы
Dmitry333 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц