Flex AS3 - 继承和工厂方法

时间:2011-03-22 18:47:13

标签: flex actionscript-3 class design-patterns oop

在问我的问题之前,我想解释一下我的架构。我的数据是混合类型,如String,Array Collection,Boolean我必须将数据填充到适当的UI组件中 - 例如Boolean to复选框,Array to列表......所以我们创建了一个工厂类,它将根据输入参数

返回3种不同类型的组件
  1. CTextfield - >扩展mx.controls.Text
  2. CList - >扩展mx.controls.List
  3. CCheckBox - >扩展custom.MultiLineCheckBox
  4. 扩展mx.controls.CheckBox的MultiLineCheckBox和几个方法被重写以带来多行标签。

    http://spy6.blogspot.com/2008/09/flex-multiline-checkbox.html

    它非常完美。在我想要的任何地方使用MultiLineCheckBox复选框。

    现在我进入了一个我想要复选Box而不是MultiLineCheckBox的场景。如何重写我的CCheckBox来处理MultiLineCheckBox以及默认的CheckBox?

    注意:每个CCheckBox类都有很多方法init。

1 个答案:

答案 0 :(得分:1)

你需要一个从你的具体工厂扩展的抽象工厂(http://cnx.org/content/m17203/latest/AbstractFactory.jpg)然后编写处理其中不同场景的逻辑,何时使用复选框vs multilinecheckbox