Я уверен, что вы отправитесь с ОО пакетом, но не ожидайте чудес.
И вот почему.
Я предполагаю, что вы начинаете с некоторых данных приложения, набора объектов приложения, давайте назовем их объектами A.
Вы можете использовать пакет ОО графических объектов для представления графического представления объектов А, вызвать этот новый набор объектов G.
Теперь у вас есть два набора объектов, A и G, каждый из которых может динамически меняться, и вы столкнулись с проблемой поддержания их в правильном соответствии.
Мало того, что вы должны генерировать G из A, вы должны изменить G, когда A меняется,
и измените A, когда G изменится.
Это требует большого количества кода, управляемого событиями, и вы никогда не можете быть уверены, что правильно обработали каждый случай.
Вы можете легко попасть в ситуации, когда вы видите , а не , что вы получаете.
(WYSINWYG)
У меня есть два предложения:
Имейте подпрограмму "рисования", которая непосредственно отображает объекты A (используя "blt", если вы хотите избежать мигания). Прикрепите простую графическую информацию к объектам A, например, положение и размер экрана. Самостоятельно обрабатывайте события мыши для выделения, перетаскивания, создания проводов и т. Д. Это может показаться большим трудом, но позволяет избежать всех проблем со связью, с которыми вы сталкиваетесь при избыточных наборах объектов. И у вас есть полный контроль над кодом.
Это общая методика управления избыточными наборами объектов. Тем не менее, он имеет жесткую кривую обучения. Большинство программистов не до этого, но это уменьшает код и гарантирует правильность.