Я создаю проект, похожий на графическую доску, где я сталкиваюсь с проблемой дизайна.
Основной класс - это Board, который является канвой, отвечающей за обработку событий мыши при рисовании фигур. Он также имеет переменные контекста, такие как currentShape или snapFlag, для активации магнетизма сетки.
Для обработки перемещения / изменения размера / поворота фигур они наследуются от стороннего инструмента с открытым исходным кодом под названием ObjectHandles (flex).
У меня есть базовый класс BaseShape, расширяющий ObjectHandles для переопределения некоторых его внутренних функций, например, функции onMove.
При создании фигуры (мышь вниз, движение, мышь вверх) Совет обрабатывает ее и знает о своем собственном флаге привязки.
var mouseUpPoint: Point = boardCanvas.globalToLocal (новая точка (event.stageX, event.stageY));
var snapMouseUpPoint = snapPoint (mouseUpPoint.x, mouseUpPoint.y);
В моем методе overidden onMove я бы хотел, чтобы фигура знала флаг привязки Board и когда он менялся. Как мне это сделать?
Передать ли я Board в качестве параметра в конструкторе basicShape, чтобы я мог проверить привязку?
Передам ли я флаг как параметр и каким-то образом заставлю все формы прислушиваться к изменениям?
Какое самое чистое решение?
Большое спасибо.