Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.16;
Скачать: CL | DM;

Вниз

Online/Offline- enum/class/..?   Найти похожие ветки 

 
Oleg_Gashev ©   (2002-08-20 20:42) [0]

Здравствуйте!
Как лучше заимплементить Online/Offline? Как enum или как class? Online/Offline оказывает влияние на 10 классов. По разному будет происходить чтение информации и ее обработка. Если делать как класс, он должен быть Singeleton, но с ним может быть проблемма, так как программа создает threads. Если делать его как переменную, она должна быть глобальной по отношению к этим классам. Еще можно все классы наследовать от COnLineOffLine класса. Поэтому и возникет вопрос, что лучше выбрать?

С уважением, Олег.


 
Romkin ©   (2002-08-20 22:14) [1]

Ничего не понял %-))
Но, похоже, подойдет стандарт - общий класс-предок (можно абстрактный), и от него два потомка - один - offline, другой - online. И так для каждого из 10 классов Ж-))


 
Romkin ©   (2002-08-20 22:19) [2]

Второй подход - компонент для onLine и offLine, и у классов просто указываешь значение проперти на нужный класс (предок должен быть общим для онлайн и оффлайн классов), или просто properties разные (Пример - TClientDataSet, св-ва FileName & provider & Datasetfield - все источники данных, и при этом абсолютно разные)


 
Oleg_Gashev ©   (2002-08-21 18:33) [3]

Первый вариант губителен, если кол-во классов будет увеличиваться. Причем это свойство должно быть одно для ВСЕХ классов. Второй вариант более предпочтительнее.


 
vuk ©   (2002-08-21 18:44) [4]

to Oleg_Gashev:
Из Вашего описания ничего невозможно понять. Поподробнее можно?


 
Oleg_Gashev ©   (2002-08-21 19:11) [5]

>vuk
Проблемма уже решена.
А вопрос был в следующем. Попытаюсь более подробно его изложить. Программа читает информацию с интернета и сохраняет ее у пользователя. При online просмотре информация выкачивается с сети, при offline читается с диска. Ну как ИЕ с online offline просмотром страниц. Есть несколько классов, работающих с этим. Причем при online или offline они работают по разному. Появилась проблемма реализовать это property для всех этих классов, причем как readonly и так, чтоб любой объект, созданный из этих классов уже знал online он или offline он.


 
vuk ©   (2002-08-21 19:24) [6]

Если режим один на все экземпляры классов, то вариантом реализации может быть глобальная переменная в секции implementation с доступом через функции. Практически тот же вариант можно реализовать с использованием методов класса.

Если же режим для разных экземпляров может быть разный, то реализация зависит от архитектуры программы.


 
Oleg_Gashev ©   (2002-08-21 19:28) [7]

Решение заключается в следующем.

Создаем parent класс, в нем

private:
static bool m_isOnline;


и


public:
bool isOnline()
{
return m_isOnline;
}


и event StatusChange когда m_isOnline изменяется.



Страницы: 1 вся ветка

Текущий архив: 2002.09.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
3-50647
Bayram Annanurov
2002-08-26 10:29
2002.09.16
SQL запрос с параметром


4-51012
Hogo
2002-07-22 09:25
2002.09.16
HOOK для DOS приложений


7-50990
aaZ
2002-06-22 18:19
2002.09.16
Keyboard hook


1-50687
maxim2
2002-09-05 07:52
2002.09.16
Подскажите функцию формирования опр. количества пробелов.


7-50999
Gayrus
2002-06-28 03:49
2002.09.16
LPT порт