powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Реализация общего интерфейса, C++ Builder
6 сообщений из 6, страница 1 из 1
Реализация общего интерфейса, C++ Builder
    #39058066
gera3323
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
#include <vcl.h>
#include <conio.h>
#pragma hdrstop

#include <tchar.h>
//---------------------------------------------------------------------------

#pragma argsused


struct IDBSession
{
	virtual void Begin( void ) = 0;
	virtual void End( void )   = 0;
};

class TAccess : public IDBSession
{
	public:
	  void Begin( void ) {
		 ShowMessage("TAccess begin");
	  }

	  void End( void ) {
		 ShowMessage("TAccess end");
	  }
};

class TOracle : public IDBSession
{
	public:
	  void Begin( void ) {
		 ShowMessage("TOra begin");
	  }

	  void End( void ) {
		 ShowMessage("TOra end");
	  }
};

class TSession
{
	IDBSession *Session;

		public:
			TSession( int t )
			{
				if( t == 0 )
					Session = new TAccess;

				if( t == 1 )
					Session = new TOracle;
			}

		   ~TSession() {
				delete Session;
			}

			void Begin()
			{
				Session->Begin();
			}
};

int _tmain(int argc, _TCHAR* argv[])
{

	TSession Sean(0);

	Sean.Begin();

	getch();

	return 0;
}




Задача в следующем:
в моем приложение будут использоваться три базы данных. Я хочу реализовать способ единого обращения к этим базам, например как показано выше. Скорее всего это не самый удачный вариант решения это задачи, но думаю общая канва этого примера, и что я именно хочу, ясна.
Хочу чтобы мне вы дали совет.

Я знаю, что можно использовать один универсальный компонент и тому подобное. почему я так не делаю это не ваше дело.
...
Рейтинг: 0 / 0
Реализация общего интерфейса, C++ Builder
    #39058159
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gera3323Хочу чтобы мне вы дали совет.какой совет ты хочешь от нас, о великий?

Хотя, конечно, это ведь не наше дело
...
Рейтинг: 0 / 0
Реализация общего интерфейса, C++ Builder
    #39058165
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gera3323Хочу чтобы мне вы дали совет.
Даю совет: подыми планку абстрагирования с примитивов общения с БД до уровня
бизнес-объектов. Т.е. TDBDriver с кучей методов типа GetSomething, SaveSomething,
EnumSomething. Для разных СУБД - разные наследники от TDBDriver, которые могут совершенно
по-разному эти методы реализовывать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Реализация общего интерфейса, C++ Builder
    #39058263
gera3323
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

спасибо
...
Рейтинг: 0 / 0
Реализация общего интерфейса, C++ Builder
    #39058774
Зимаргл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovgera3323Хочу чтобы мне вы дали совет.
Даю совет: подыми планку абстрагирования с примитивов общения с БД до уровня
бизнес-объектов. Т.е. TDBDriver с кучей методов типа GetSomething, SaveSomething,
EnumSomething. Для разных СУБД - разные наследники от TDBDriver, которые могут совершенно
по-разному эти методы реализовывать.
А мы поржём.
Не буду пояснять почему.
...
Рейтинг: 0 / 0
Реализация общего интерфейса, C++ Builder
    #39058790
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗимарглНе буду пояснять почему.
Кто бы сомневался.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Реализация общего интерфейса, C++ Builder
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]