Главная страница
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.017 c
1-50718
DN
2002-09-02 15:28
2002.09.16
Работа с файлами


3-50657
Nina
2002-08-26 15:13
2002.09.16
подскажие как сделать запрос!


1-50837
Valeris
2002-09-04 12:04
2002.09.16
С помощью какой функции можно запустить word или excel файл.


1-50664
R_F$29{n}xp
2002-09-04 13:51
2002.09.16
Мастера подскажите как можно сохранить компонент TTree View?


3-50607
MyVeryShortLogin
2002-08-26 12:13
2002.09.16
Проблема с генераторами в IB->Delphi