As3: предложения по архитектуре инструмента преобразования - PullRequest
0 голосов
/ 27 января 2012

Я пытаюсь ознакомиться с шаблонами проектирования, модульностью, модульным тестированием и т. Д. (С помощью ActionScript).

Я сейчас разрабатываю простой «Инструмент свободного преобразования», просто как упражнение, но мне не нравятся решения, которые я придумала до сих пор, поэтому я постараюсь рассказать вам о них подробнее.моя линия мыслей.Когда у меня возникла идея, я подумал: «Что написать, чтобы я мог протестировать эту замечательную инфраструктуру модульного тестирования FlexUnit», первым, что я увидел, было угадать, что ... бесплатный инструмент преобразования.:) Когда я размышлял об архитектуре инструмента, я запускал все сценарии «Как мне написать модульные тесты для этой вещи?», Поэтому я придумал какой-то извращенный мета-шаблон MVC:

  • Представление, содержащее все компоненты (область вращения, область перетаскивания, кнопки изменения размера)
  • Модель (или что-то подобное), которая содержит необходимую логику (setSize, setPositiom, rotateAroundCenter и т. Д.).
  • И контроллер, который добавляет прослушиватели к компонентам представления, обновляет курсор мыши, когда он находится над компонентом, получает координаты мыши, когда взаимодействует с компонентом, выполняет вычисления и вызывает методы из модели, которая обновитвид и объект, который доброкачественно преобразован.

Я думал: «Хорошо, он гибкий, я могу переключать M, V или C в любое время, я достиг своей главной цели, потому что я могу сделать многомодульного теста для модели, где важные вычисления, так что это здорово .. ".

Я только начал его реализовывать, но ячернила, большинство этих мыслей ошибочны.Да, я могу изменить вид и добавить новый скин, но он совсем не гибкий, если я хочу добавить «косую» (или любую другую) функциональность, я должен переписать (или, если мне повезет, просто расширить) M, V и C.Да, я могу сделать групповой тест для модели, но вычисления контроллера будет сложно проверить.

Так что теперь я думаю о чем-то вроде шаблона Decorator, который позволит мне создать любую комбинацию элементов управления, которую я хочуиспользовать и держать их логику раздельно, но я хочу иметь возможность перекрасить сами элементы управления и оставить логику разделенной, чтобы я мог выполнять тесты.

Я понимаю, что хочу создать что-то вроде "окончательный инструмент преобразования ", но я действительно стараюсь раздвинуть границы и чему-то научиться.

1 Ответ

0 голосов
/ 27 января 2012

Не совсем уверен, что я отвечаю на ваш вопрос здесь или нет, но вы проверили какие-либо фреймворки MVC? Если вы еще этого не сделали, я бы попробовал Robotlegs, он должен помочь вам создать тестируемый код.

http://www.robotlegs.org/

...