Мне интересно, есть ли у кого-нибудь дизайн, который может помочь мне редактировать вложенные объекты из интерфейса GUI.
Допустим, у меня есть два класса
class ObjectA
{
public:
ObjectA()
~ObjectA()
unsigned GetParam();
void SetParam(unsigned Param)
private:
unsigned Param;
};
class ObjectB
{
public:
ObjectB()
~ObjectB()
ObjectA GetObjectA();
void SetObjectA(ObjectA ObjA)
private:
ObjectA ObjA;
};
Теперь предположим, что у меня есть доступ к ObjectB, но мне действительно нужно установить Param из GUI. Есть два способа сделать это.
Используйте аксессоры и мутаторы для редактирования объекта
ObjectA ObjA = ObjB.GetObjectA();
ObjA.SetParam(100);
ObjB.SetObjectA(ObjA);
Добавление публичного интерфейса в ObjectB
void ObjectB::SetParam(unsigned Param)
{
ObjA.SetParam(Param);
}
Мне действительно не нравятся эти решения, потому что они содержат много написания кода, которые обращаются к параметрам объекта и плохо масштабируются. Есть предложения?