2012-01-27 7 views
0

Я пытаюсь ознакомиться с шаблонами проектирования, модульности, модульного тестирования и т. Д. (С помощью ActionScript).As3: Предложения архитектуры трансформации

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

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

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

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

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

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

+0

вопрос просто, «то, что шаблон проектирования вы могли бы предложить мне использовать, чтобы построить этот инструмент?» – Aaron

ответ

0

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

http://www.robotlegs.org/

+0

Да, вопрос в том, какой шаблон дизайна вы бы предложили использовать для создания этого инструмента ?. И я действительно не хочу использовать фреймворк для создания одного компонента. –

+0

Эта структура на самом деле очень маленькая. Тем не менее, если вы не смотрите на это, вам не нужно это для MVC. Вы можете прочитать общие концепции и реализовать их в своем дизайне. – francis

Смежные вопросы