Conversation
|
|
||
| namespace TagCloud; | ||
|
|
||
| public class CircularCloudLayouter |
There was a problem hiding this comment.
А нет, сначала не обратил внимание. Условно: для разных видов раскладок, у нас всегда с ними одинаковое взаимодействие: кладем прямоугольник - он нам возвращает его местоположение в раскладке. Тебе нужно вычленить все эти общие методы вынести в интерфейс и класс от него реализовать.
| { | ||
| Center = center; | ||
| rectanglesInLayout = new(); | ||
| spiral = new(center, 0.05, 0.01); |
There was a problem hiding this comment.
Это называют "магическими числами" - не очень понятно откуда они эти значения. Так не стоит делать. Предлагаю сделать так: внутри класса спирали сделать эти два числа константами "дефолтные значения". Конструктор спирали может принимать объект SpiralSettings, где собственно и указаны наши сдвиги и повороты и прочее, так что при желании мы даже сможем записать нужные нам значения в конфиг json. Если в конструктор спирали ничего не передаем, то используются эти дефолтные значения. Не забусь навесить проверки на эти значения, если считаешь что они нужны
Наставник @Yaroslav332