Oct 08, 2009 13:14
Архитекторы 4 SDK допустили ту же ошибку, что и в третьем SDK. Алгоритм компоновки был зашит в компонент в 3, а в 4 они его вынесли.
Урок был не выучен и работа над ошибками не была произведена - алгоритм отрисовки зашит в FilledElement - а он должен быть также вынесен. Отношение тут n (GraphicElement) - 1 (algo), поэтому использование наследования тут неправильно. И проблема вовсе не в том, что это неправильно c точки зрения теории или проблем с памятью (оверхед маленький) - просто в скине должен быть один graphicElement, и если я хочу эллипс вместо квадрата, я не пересоздаю (вручную или через states) элемент, а просто меняю его свойство, так же, как и stroke/fill.