構成設定のストレージコンテナーとして機能する動的クラスがあります。設定はそのクラスの変数であり、構成ファイルやデータベースなどからの読み取りと書き込みを行うメソッドがあります。次に、クラス変数が変更されるたびに永続ストレージへの書き込みをトリガーします。変数は実行時に動的に追加されるため、get / setメソッドを使用することはできません。また、可能であれば、多くの定型コードにつながる可能性があります。
クラスのプロパティを変更するためにイベントをトリガーするにはどうすればよいですか?
構成設定のストレージコンテナーとして機能する動的クラスがあります。設定はそのクラスの変数であり、構成ファイルやデータベースなどからの読み取りと書き込みを行うメソッドがあります。次に、クラス変数が変更されるたびに永続ストレージへの書き込みをトリガーします。変数は実行時に動的に追加されるため、get / setメソッドを使用することはできません。また、可能であれば、多くの定型コードにつながる可能性があります。
クラスのプロパティを変更するためにイベントをトリガーするにはどうすればよいですか?
からこのクラスをサブクラス化できますmx.utils.Proxy
。これにより、オブジェクトを動的にすることができますが、プロパティがアクセスされるたびに実行されるカスタム コードを記述することもできます (getter と setter と同様に、 と を参照getProperty()
してくださいsetProperty()
)。
動的オブジェクトを避け、データを格納するための1つのメソッドとデータを取得するための1つのメソッドを使用してデータストレージクラス(SettingsModel?)を作成することを検討します。したがって、使用する代わりに:
configurationSettings.randomSetting = value;
...あなたは書くでしょう:
configurationSettings.store("randomSetting", value);
名前付き設定を辞書の内部に保存し、メソッドで実行する必要のあるすべての魔法を実行できますstore()
。
ここでの主な利点は読みやすさです。メソッドが呼び出されているのを見ると、その背後に機能があることがわかります。同じ理由で、私はゲッター/セッター関数を嫌う傾向があります。
結局のところ、それは好みの問題なので、コードが壊れていないのなら、なぜそれを修正するのですか。:)