Flex에서 동적 객체의 특성이 언제 변경되는지 어떻게 알 수 있습니까?

StackOverflow https://stackoverflow.com/questions/447002

문제

구성 설정을위한 스토리지 컨테이너 역할을하는 동적 클래스가 있습니다. 설정은 해당 클래스의 변수이며 구성 파일, 데이터베이스 등을 읽고 쓸 수있는 방법이 있습니다. 이제 클래스 변수가 변경 될 때마다 지속적인 스토리지에 쓰기를 트리거하고 싶습니다. 런타임에 변수가 동적으로 추가되면 Get/Set 메소드를 사용할 수 없습니다. 가능하면 많은 보일러 플레이트 코드로 이어질 수 있습니다.

수업의 속성을 변경하기 위해 어떻게 이벤트를 트리거 할 수 있습니까?

도움이 되었습니까?

해결책

이 클래스의 하위 클래식을 할 수 있습니다 mx.utils.Proxy. 그것은 당신이 객체를 동적이지만 속성에 액세스 할 때마다 실행되는 몇 가지 사용자 정의 코드를 작성할 수 있습니다 (getters and setters와 유사하게 - 참조하십시오. getProperty() 그리고 setProperty().)

다른 팁

동적 객체를 피하는 것을 고려하고 하나의 저장 방법과 데이터 검색 방법으로 데이터 스토리지 클래스 (SettingsModel?)를 만듭니다. 따라서 사용하는 대신 :

configurationSettings.randomSetting = value;

... 당신은 다음을 쓸 것입니다 :

configurationSettings.store("randomSetting", value);

이름 지정된 설정을 내부적으로 사전에 저장할 수 있으며, 마법을 store() 방법.

여기서 주요 장점은 가독성입니다. 방법이 호출되는 방법을 볼 때 그 뒤에 기능이 있다는 것을 알고 있습니다. 같은 이유로 나는 Getter/Setter 기능을 싫어하는 경향이 있습니다.

결국 그것은 맛의 문제이므로 코드가 깨지지 않으면 왜 고정 해야하는지. :)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top