2

我有一个动态类,用作配置设置的存储容器。设置是该类的变量,它具有读取和写入配置文件、数据库等的方法。现在我想在类变量更改时触发写入持久存储。由于变量是在运行时动态添加的,因此我不能使用 get/set 方法,而且,如果可以的话,这将导致大量样板代码。

如何触发更改班级属性的事件?

4

2 回答 2

2

您可以从mx.utils.Proxy. 它允许您使对象是动态的,但仍然能够编写一些在访问属性时运行的自定义代码(类似于 getter 和 setter -- 请参阅getProperty()setProperty()。)

于 2009-01-15T17:11:57.880 回答
0

我会考虑避免使用动态对象,而是使用一种存储方法和一种检索数据的方法创建数据存储类(SettingsModel?)。所以不要使用:

configurationSettings.randomSetting = value;

...你会写:

configurationSettings.store("randomSetting", value);

您可以将命名设置内部存储在字典中,并在方法中执行任何需要执行的操作store()

这里的主要优点是可读性:当你看到一个方法被调用时,你就知道它背后有功能。出于同样的原因,我倾向于不喜欢 getter/setter 函数。

最后,这是一个品味问题,所以如果您的代码没有损坏,为什么要修复它。:)

于 2009-01-15T20:53:49.553 回答