Фабрика и Объект
Добавлено: 28.04.2011 15:39:55
В общем, такая проблема... Имеется управляющий класс (что-то вроде фабрики):
И есть собственно управляемый класс:
Очень хочется иметь в управляемом классе что-то вроде
т.е. чтобы управляемый объект знал о свойствах фабрики, его создавшей... Но при этом, чтобы обеспечить работу Function BuildItem: TItemClass; мне нужно объявить BItemClass перед BManagerClass. Но тогда BItemClass не будет ничего знать о BManagerClass и желаемое свойство Manager: BManagerClass окажется недоступным...
Как правильно разрешить эту проблему? Сейчас я замещаю кошерную Function BuildItem: TItemClass на Constructor BItemClass.Build(aManager: BManagerClass); что представляется мне не совсем правильным ^_^ Или ситуация, когда BItemClass требует информации о BManagerClass сигнализирует о необходимости пересмотреть структуру классов?
- Код: Выделить всё
Type BManagerClass = Class
Private
...
Public
Function BuildItem: TItemClass;
...
End;
И есть собственно управляемый класс:
- Код: Выделить всё
Type BItemClass = Class
Private
...
Public
...
End;
Очень хочется иметь в управляемом классе что-то вроде
- Код: Выделить всё
...
Property Manager: BManagerClass Read bManager;
...
т.е. чтобы управляемый объект знал о свойствах фабрики, его создавшей... Но при этом, чтобы обеспечить работу Function BuildItem: TItemClass; мне нужно объявить BItemClass перед BManagerClass. Но тогда BItemClass не будет ничего знать о BManagerClass и желаемое свойство Manager: BManagerClass окажется недоступным...
Как правильно разрешить эту проблему? Сейчас я замещаю кошерную Function BuildItem: TItemClass на Constructor BItemClass.Build(aManager: BManagerClass); что представляется мне не совсем правильным ^_^ Или ситуация, когда BItemClass требует информации о BManagerClass сигнализирует о необходимости пересмотреть структуру классов?