parentId приведены в "плоский" вид, но тем не менее до дочерних элементов есть доступ через геттер.
Так вот, оказалось, что мне нужно frame повторить дважды в svg, чтобы отрендерилось так, как надо. Даже не знаю, как правильно донести свои мысли, может, по коду будут понятнее.
Это сейчас работает, но мне как-то не нравится, как можно отрефакторить? Может, тут опытные глаза увидят то, что я не вижу?
гугли паттерн стратегия
Если тут речь о представлении единого API, но с разной логикой для каждого определенного объекта, как на скрине, то мне кажется, что это не совсем подходит, потому что: 1) сейчас у меня frame это тот же rectangle. 2) мне надо избегать пересоздания дочерних элементов после того, как заключу их в frame: <rect start> <children> <rect end> . Хотя для frame можно и отдельный класс создать, но все же опять-таки надо избегать повторного создания дочерних элементов
определение интерпретировать можно по-разному я предлагаю создать отдельный интерфейс стратегии обработки и классы которые его реализуют, в них будет два метода, один будет проверять применить ли стратегию в данных обстоятельствах, в него уедет код из круглых скобок ифа, и второй метод - собственно метод обработки в него уедет блок кода из ифа, можно даже сделать чтобы второй метод автоматом вызывал первый для проверки и в бизнес-логике просто вызывать пачку этих стратегий, возможно в цикле
Обсуждают сегодня