У меня болит голова из-за того, как подходить к дизайну с точки зрения зависимости или ассоциации.Вот проблема: мне нужно, чтобы некоторые данные генерировались всякий раз, когда я хочу.Генерация данных возможна только благодаря знанию некоторых других данных в руках.Итак, если у меня есть класс XDataGenerator;похоже, что это так:
class XDataGenerator
{
void generate ( YData* y_in, ZData* z_in, XData* x_out);
}
, где YData и ZData находятся в «зависимости» от класса XDataGenerator.
Однако это еще один вариант использования «ассоциации» в качествеследующее:
class XDataGenerator
{
YData* mY;
ZData* mZ;
void generate( XData* x_out);
}
, где YData и ZData находятся в «ассоциации» с классом XDataGenerator.
В версии «зависимости» аргументы x_in и y_in передаются в функцию «генерировать»", В версии" ассоциации "эти аргументы доступны через атрибуты-члены (указатели на объекты).
Итак, каков будет правильный подход к этой проблеме проектирования?Как бы вы подошли и почему?Обратите внимание, что y данных и z экземпляров данных (используемых XDataGenerator) могут изменяться другими объектами в общем проекте.
Заранее спасибо.