Re[14]: класс Singleton - разобрался, но где в "жизни" приме
От: WolfHound  
Дата: 26.12.07 17:59
Оценка:
Здравствуйте, russian_bear, Вы писали:

_>А в чем сложность создать у класса-синглтона Pool 2 метода для получения этих 2-х разных пулов? Вопрос ведь в том, нужен ли нам экземпляр класса Pool или нет. В данном случае, вроде бы, не нужен.

То что конфигурация пулов и обработчиков задается конфигом.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[15]: класс Singleton - разобрался, но где в "жизни" приме
От: russian_bear  
Дата: 27.12.07 11:54
Оценка:
_>>А в чем сложность создать у класса-синглтона Pool 2 метода для получения этих 2-х разных пулов? Вопрос ведь в том, нужен ли нам экземпляр класса Pool или нет. В данном случае, вроде бы, не нужен.
WH>То что конфигурация пулов и обработчиков задается конфигом.

Ну, скажем, у нас в проекте есть класс ConfigReader (кстати, синглтон ), который читает из .config файла. В случае, если файл меняется (отслеживается по ModifyDate) — на лету читает заново. Класс Pool может в ОБОИХ методах своих смотреть что там в .config через ConfigReader.

Или имеется в виду, что число пулов недетерменировано? Ну так вроде бы до этого вы говорили только про 2 пула?

Ну допустим даже, что их число недетерменированно. Условно говоря, в конфиге имеется набор соответствий "Тип пула (внутренний, внешний, ...) — Размер пула". Пусть тогда тот класс, который вызывает метод получения соединения (или чего там в пуле) через Pool передает этот тип пула. Если боитесь, что придется много кода переписывать — перегрузите метод, пусть по умолчанию это будет всегда внешний тип пула.
Re[16]: класс Singleton - разобрался, но где в "жизни" приме
От: WolfHound  
Дата: 27.12.07 15:55
Оценка:
Здравствуйте, russian_bear, Вы писали:

_>Или имеется в виду, что число пулов недетерменировано?

Детерминированно но зависит от задачи.

_>Ну так вроде бы до этого вы говорили только про 2 пула?

Гдето 2 гдето 1 гдето 10...

_>Ну допустим даже, что их число недетерменированно. Условно говоря, в конфиге имеется набор соответствий "Тип пула (внутренний, внешний, ...) — Размер пула". Пусть тогда тот класс, который вызывает метод получения соединения (или чего там в пуле) через Pool передает этот тип пула. Если боитесь, что придется много кода переписывать — перегрузите метод, пусть по умолчанию это будет всегда внешний тип пула.

Мне ничего не придется переписывать ибо нет синглетона нет проблемы.

У меня есть простой exe'ник который умеет читать конфиг и подгружать dll'ки.
Далие согласно конфигу этот exe'ник создает компоненты при помощи фабрик которые экспортируют dll'ки.
Соответственно есть компонент реализующий пул потоков.
Есть компонент принимающий подключение и по заголовку определяющий в каком пуле и каким обработчиком обработать запрос. Соответствие задается в конфиге.
Есть несколько компонентов реализующих разную обработку запросов.
И ессно есть еще куча всяких компонентов которые к разговору отношения не имеют.

Таким образом я создаю простые кирпичики которые потом собираются в сложную систему просто правкой конфигов.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[17]: класс Singleton - разобрался, но где в "жизни" приме
От: russian_bear  
Дата: 27.12.07 16:12
Оценка:
WH>У меня есть простой exe'ник который умеет читать конфиг и подгружать dll'ки.
WH>Далие согласно конфигу этот exe'ник создает компоненты при помощи фабрик которые экспортируют dll'ки.
WH>Соответственно есть компонент реализующий пул потоков.
WH>Есть компонент принимающий подключение и по заголовку определяющий в каком пуле и каким обработчиком обработать запрос. Соответствие задается в конфиге.
WH>Есть несколько компонентов реализующих разную обработку запросов.
WH>И ессно есть еще куча всяких компонентов которые к разговору отношения не имеют.

Отличный вариант, просто таки Spring в нескольких предложениях Теперь допустим нам нужно получить из нашего пула соединение. Инстансы каких классов при получении его будут созданы?
Re[18]: класс Singleton - разобрался, но где в "жизни" приме
От: WolfHound  
Дата: 27.12.07 16:57
Оценка:
Здравствуйте, russian_bear, Вы писали:

_>Отличный вариант, просто таки Spring в нескольких предложениях

Дык! Если понимаешь что к чему то и описать можно в несколько предложений.

_>Теперь допустим нам нужно получить из нашего пула соединение. Инстансы каких классов при получении его будут созданы?

Ничего не понял.
Чего, зачем и откуда получить?
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[19]: класс Singleton - разобрался, но где в "жизни" приме
От: vitaly_spb Россия  
Дата: 28.12.07 11:50
Оценка:
_>>Теперь допустим нам нужно получить из нашего пула соединение. Инстансы каких классов при получении его будут созданы?
WH>Ничего не понял.
WH>Чего, зачем и откуда получить?

соединение из ConnectionPool'а
...Ei incumbit probatio, qui dicit, non qui negat...
Re[20]: класс Singleton - разобрался, но где в "жизни" приме
От: WolfHound  
Дата: 28.12.07 12:34
Оценка:
Здравствуйте, vitaly_spb, Вы писали:

_>>>Теперь допустим нам нужно получить из нашего пула соединение. Инстансы каких классов при получении его будут созданы?

WH>>Ничего не понял.
WH>>Чего, зачем и откуда получить?

_>соединение из ConnectionPool'а


Запрашиваем соеденение у ConnectionPool'а.
В чем проблема то?
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[21]: класс Singleton - разобрался, но где в "жизни" приме
От: russian_bear  
Дата: 28.12.07 12:43
Оценка:
_>>>>Теперь допустим нам нужно получить из нашего пула соединение. Инстансы каких классов при получении его будут созданы?
WH>>>Ничего не понял.
WH>>>Чего, зачем и откуда получить?

_>>соединение из ConnectionPool'а


WH>Запрашиваем соеденение у ConnectionPool'а.

WH>В чем проблема то?

Да нет проблем, инстансы каких классов будут созданы. Нужен ли нам инстанс класса ConnectionPool?
Re[22]: класс Singleton - разобрался, но где в "жизни" приме
От: WolfHound  
Дата: 28.12.07 13:28
Оценка:
Здравствуйте, russian_bear, Вы писали:

_>Да нет проблем, инстансы каких классов будут созданы. Нужен ли нам инстанс класса ConnectionPool?

Все что прописано в конфиге давно создано.
Компоненты получают при создании контекст из которого можно получить другой компонент.
Далие просто запрашиваем (и возможно гдето запоминаем) ConnectionPool и у него запрашиваем Connection.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[23]: класс Singleton - разобрался, но где в "жизни" приме
От: russian_bear  
Дата: 28.12.07 14:13
Оценка:
_>>Да нет проблем, инстансы каких классов будут созданы. Нужен ли нам инстанс класса ConnectionPool?
WH>Все что прописано в конфиге давно создано.

И хранится в классе-синглтоне соответственно.
Re[24]: класс Singleton - разобрался, но где в "жизни" приме
От: WolfHound  
Дата: 28.12.07 15:33
Оценка:
Здравствуйте, russian_bear, Вы писали:

_>И хранится в классе-синглтоне соответственно.

Нет никакого синглетона.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[25]: класс Singleton - разобрался, но где в "жизни" приме
От: russian_bear  
Дата: 28.12.07 16:43
Оценка:
_>>И хранится в классе-синглтоне соответственно.
WH>Нет никакого синглетона.

Тогда создаются лишние инстансы классов. Вот и все.
Re[26]: класс Singleton - разобрался, но где в "жизни" приме
От: WolfHound  
Дата: 28.12.07 17:43
Оценка:
Здравствуйте, russian_bear, Вы писали:

_>Тогда создаются лишние инстансы классов. Вот и все.

Не создаются.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[27]: класс Singleton - разобрался, но где в "жизни" приме
От: russian_bear  
Дата: 08.01.08 15:33
Оценка:
_>>Тогда создаются лишние инстансы классов. Вот и все.
WH>Не создаются.

Вы пока так и не сказали что там создается. Но я еще раз повторюсь — либо инстансы хранятся в синглтоне в уже созданном виде (создаваясь по требованию), либо каждый раз создаются заново, другого не дано. Вопрос лишь в том, нужны ли нам эти инстансы каждый раз.
Re[28]: класс Singleton - разобрался, но где в "жизни" приме
От: Alexey.Makarenko Россия  
Дата: 16.02.08 00:34
Оценка:
Здравствуйте, russian_bear, Вы писали:

_>>>Тогда создаются лишние инстансы классов. Вот и все.

WH>>Не создаются.

_>Вы пока так и не сказали что там создается. Но я еще раз повторюсь — либо инстансы хранятся в синглтоне в уже созданном виде (создаваясь по требованию), либо каждый раз создаются заново, другого не дано. Вопрос лишь в том, нужны ли нам эти инстансы каждый раз.


Так значит нужно различать языки C++ и С# со сборкой мусора? Именно во втором случае Singleton — эффективен?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.