Для оптимизации такой задачи можно использовать паттерн Фасад, который позволит скрыть сложность системы от пользователя и позволит ему работать с упрощенным интерфейсом. В вашем случае, можно создать класс узла, который будет иметь свойства, описывающие его состояние (клиент, сервер и т.д.), а также методы для отображения и скрытия объекта. Затем можно создать класс-фасад, который будет управлять отображением всех узлов на топологии сети в зависимости от заданных параметров. Таким образом, программа будет загружать только те объекты, которые необходимы для текущей конфигурации сети, что позволит сократить время загрузки и использование оперативной памяти.