Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.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 Flex4主机组件是否具有与视图中介器/帮助器相同的功能?_Flash_Apache Flex_Flex4_Flex Spark_Mediator - Fatal编程技术网

Flash Flex4主机组件是否具有与视图中介器/帮助器相同的功能?

Flash Flex4主机组件是否具有与视图中介器/帮助器相同的功能?,flash,apache-flex,flex4,flex-spark,mediator,Flash,Apache Flex,Flex4,Flex Spark,Mediator,来自Robotlegs/PureMVC,我非常熟悉视图中介器的概念,即一个组件,它可以监听来自“虚拟”视图的事件/请求,并根据来自视图的请求发出进一步的请求,发送应用程序范围的信号/事件,执行命令等 Flex4中引入的主机组件思想是否可以被视为一个中介?唯一让我稍感困扰的是,主机组件仍然被视为视图,因为它们扩展了SkinnableComponent或从中进一步继承的任何类。在我看来,调解人应该完全被排除在逻辑之外 尽管如此,我不想为该主机组件编写一个皮肤、一个主机组件和一个视图中介,因为这将是一

来自Robotlegs/PureMVC,我非常熟悉视图中介器的概念,即一个组件,它可以监听来自“虚拟”视图的事件/请求,并根据来自视图的请求发出进一步的请求,发送应用程序范围的信号/事件,执行命令等

Flex4中引入的主机组件思想是否可以被视为一个中介?唯一让我稍感困扰的是,主机组件仍然被视为视图,因为它们扩展了SkinnableComponent或从中进一步继承的任何类。在我看来,调解人应该完全被排除在逻辑之外

尽管如此,我不想为该主机组件编写一个皮肤、一个主机组件和一个视图中介,因为这将是一个相当大的开销,并且将导致更复杂而不是抽象


我是否应该使用主机组件作为中介,并将应用程序级逻辑放在那里,例如应用程序级事件调度?

我在
SkinnableComponent
模式中也遇到了这个问题。我喜欢我的行为生活在不是视图组件的类中。我甚至不喜欢引用视图组件,所以我倾向于使用“表示模型”模式。使用
SkinnableComponent
,主机组件仍然是视图组件,但它保存所有共享行为。感觉有点乱,我不是这个的超级粉丝。不过,我确实觉得这是构建可重用、可蒙皮组件的一种非常好的方法。例如,如果您是一名组件开发人员,这将非常棒

也就是说,我发现它太复杂了,无法拥有一个皮肤、一个主机组件和一个单独的行为类。因此,我倾向于坚持他们为可蒙皮组件提供的模式(蒙皮和主体组件)。根据我的经验,这使得测试更加复杂,但事实就是如此


如果我不需要
可蒙皮组件
(因为我通常不会创建可蒙皮组件以供外部使用),我只需要使用单独的表示模式(通常是PM)并放弃蒙皮模式

+1来自我;尽管我也质疑它对组件开发人员来说有多“伟大”。扩展Spark体系结构仍然存在扩展MX体系结构所面临的所有许多问题;除了现在,很多不同的课程之间都会发生一些事情,弄清楚发生了什么事情变得越来越困难。@www.Flextras.com:这一点很好。我将它与Silverlight中的“模板化”进行比较。我更喜欢skin类方法,因为它允许您从现有的皮肤派生以更改单个属性(而不是像Silverlight那样复制整个模板并更改一个属性)。我认为面向对象的方法很好。但我同意,Flex4中的“可蒙皮组件”模式仍然存在很多摩擦。