Re[2]: Что можно делать в конструкторе?
От: myaso  
Дата: 21.12.04 14:01
Оценка:
Здравствуйте, Larev, Вы писали:

L>В конструкторе не совсем хорошо делать действия, если есть вероятность, что объект будет создан раньше, чем то, с помощью чего объект, например инициализируется (в данном случае пайп). Лучше это вынести за пределы конструктора в кокой-нибудь метод, чтобы контролировать эти действия, поскольку если вы захотите объявить объект (допустим сделать членом класса), то не остается другого способа, как объявить указатель, а потом когда это станет возможно выделить память под объект. А если вынести из конструктора, то не надо об этом заботиться, а вызвать метод в нужный момент.

L>Короче из всего сказанного, в конструкторе нужно выполнять только те дейтвия, которые не зависят от внешних факторов, условий и возможно не созданных еще объектов.

мг. хорошо. получается если я не хочу ломать интерфейс. то мне нужно вызывать это наполнение коллекции при перовом вызове какго либо метода этого интерфейса. Получается только так...
Изначально в интерфейсе я предусмотрел что-то типа метода FillCollection, но мне сказали что это сакс, мол это всё надо скрыть от юзера. И я как бы с этим согласен, поэтому убрал этот метод. Теперь получается что вызов из конструктора коряво, сделать как я описал выше тоже коряво... Откуда ж позвать его? :)
Я понимаю что идеальных ситуаций не бывает и всё сделать красиво не получиться. но....
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.