Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash As3:转换工具架构建议_Flash_Actionscript 3_Apache Flex_Design Patterns_Coding Style - Fatal编程技术网

Flash As3:转换工具架构建议

Flash As3:转换工具架构建议,flash,actionscript-3,apache-flex,design-patterns,coding-style,Flash,Actionscript 3,Apache Flex,Design Patterns,Coding Style,我正在努力熟悉设计模式、模块化、单元测试等。。。(使用ActionScript) 我现在正在开发一个简单的“免费转换工具”,只是作为一个练习,但我不喜欢迄今为止我提出的解决方案,所以我将尝试引导您了解我的思路。当我想到这个想法的时候,我在想“写些什么,这样我就可以测试这个伟大的单元测试框架FlexUnit了”,我看到的第一件事是猜什么。。自由变换工具。:)当我在思考工具的架构时,我通过“如何为该工具编写单元测试?”来运行每个场景,因此我提出了某种扭曲的MVC元模式: 包含所有组件的视图(旋转区

我正在努力熟悉设计模式、模块化、单元测试等。。。(使用ActionScript)

我现在正在开发一个简单的“免费转换工具”,只是作为一个练习,但我不喜欢迄今为止我提出的解决方案,所以我将尝试引导您了解我的思路。当我想到这个想法的时候,我在想“写些什么,这样我就可以测试这个伟大的单元测试框架FlexUnit了”,我看到的第一件事是猜什么。。自由变换工具。:)当我在思考工具的架构时,我通过“如何为该工具编写单元测试?”来运行每个场景,因此我提出了某种扭曲的MVC元模式:

  • 包含所有组件的视图(旋转区域、拖动区域、调整大小按钮)
  • 包含必要逻辑(setSize、setPositiom、rotateAroundCenter等)的模型(或类似模型)
  • 以及一个控制器,用于向视图组件添加侦听器,当鼠标光标位于组件上时更新鼠标光标,当与组件交互时获取鼠标坐标,执行计算并从模型调用方法,以更新视图和已转换的对象
我在想:“好吧,它很灵活,我可以随时切换M、V或C,我实现了我的主要目标,因为我可以对模型进行大量的单元测试,重要的计算都在这里,所以它很棒。”

我刚刚开始实施它,但我认为大多数想法都是错误的。是的,我可以改变视图并添加新的皮肤,但它一点也不灵活,如果我想添加“扭曲”(或任何其他)功能,我应该重写(或者如果我幸运的话,只是扩展)m、V和C。 是的,我可以对模型进行单元测试,但控制器的计算将很难测试

所以现在我在考虑类似于Decorator模式的东西,它将允许我创建我想要使用的任何控件组合,并保持它们的逻辑分离,但是我想有一个选项来重新调整控件本身并保持逻辑分离,这样我就可以做测试了


我意识到我想创建某种“终极转换工具”,但我真的在尝试突破我的极限并学习一些东西。

我不确定我是否在这里回答了你的问题,但你有没有检查过任何MVC框架? 如果你还没有,我会检查一下机器人腿,它应该可以帮助你创建可测试的代码


问题很简单,“您建议我使用什么设计模式来构建此工具?”是的,问题是您建议我使用什么设计模式来构建此工具?。我真的不想用hole框架来创建一个组件。这个框架实际上非常小。尽管如此,如果您不考虑将其包含在MVC中,您也不需要它。您可以阅读一般概念并在设计中实现它们。