用于从属性检查器更改对象属性的设计模式

时间:2011-11-21 18:20:38

标签: oop design-patterns actionscript

我手边有这个问题,想要一些最好的方法来接近它 -

在我的应用程序中,我有不同的对象集,每个对象都有一些与之关联的属性。

例如:对象,比如说,形状,具有一些常见属性,如颜色和特定属性(例如:圆有半径,中心有其特定属性)

用户可以通过属性检查器更改对象属性。 目前,PI拥有一个对象ID,并使用该ID与DOM进行通信,以获取与其当前引用的对象相关的任何内容。比方说,如果它想要改变对象的属性,它将调用DOM Api

ChangeObjectProperty(objectID , *);

(我希望使用对象ID来引用DOM中的对象是正确的方法。(有更好的方法吗?))

作为第二个参数,我应该传递什么? 它应该是一个不透明的对象(比如IObjProps),每个对象都提供自己的结构吗?

例如,圆圈将具有以下自己的结构 -

class CircleProps extends CommonProps
{
   public var radius:Number;
   public var center:Point;
}

class CommonProps extends IObjProps
{
   public function clone();
   public var color:Number;
}

DOM将此结构传递给对象,对象负责应用更改。

所以ChangeObjectProperty(objectID , *);函数将实现为 -

function ChangeObjectProperty(objectID , props:IObjProps)
{
  var object:Object = GetObjectFromID(objectID);
  object.SetProperty(iObjProps)
}

上述方法的问题在于 - 从单一结构中很难知道具体属性发生了哪些变化 -

另一种方法是使用属性字典 - 客户端只插入已更改为字典的属性。

我想知道这些用例的设计模式是什么。

添加更多信息 - 这是动作脚本 -

0 个答案:

没有答案