mak_ufo
@mak_ufo

Как убрать дублирующий код?

Всем привет. Если коротко, то есть два класса: Animation2D и Animation3D. Они очень похожи. Извиняюсь за простыню кода.
Класс Animation2D
5a662a2c57dce036635364.png
Класс Animation3D
5a662a33ac2e4402593297.png

У них очень много одинаковых моментов. Как лучше исправить это?
Ссылки на исходники:
Animation2D
Animation3D
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
  • mindtester
    @mindtester
    ну.. в принципе можно расширения с дженериком нарисовать

    на первый взгляд (не сверяю код, именно на глазок) мне кажется это было бы даже уместнее - если методов всего три, городить иерархию классов явно не стоит

    ps и уж точно не стоит, когда они совпадают до символа

    совет - если это дочерние классы от какого то необходимого "бай-дизайн-среды-исполнения" (как Form к примеру), и если вы не переопределяете обязательные виртуальные методы, то есть код где вызываются дополнительные методы полностью вами контролируется - расширения позволяют писать более чистый и читаемый код

    в смысле создается экземпляр базового типа, где надо, через точку применяем расширения как родные
    Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы