2011-10-18 9 views
-1

내가 오랫동안 해왔 던 한 가지 질문은 객체 지향 프로그래밍에 어떻게 설정 및 속성과 같은 데이터를 객체 지향 방식으로 전달해야 하는가하는 것입니다.데이터 구성 및 액세스 구성?

예를 들어 대부분의 프로그램에는 실행 취소 수준을 설정할 수있는 옵션이 있다고하는 옵션이 있습니다. 이 값을 가져와 새 값으로 설정해야합니다. 이러한 설정이 xml 파일에 저장되면 응용 프로그램의 해당 섹션 (옵션 대화 상자)에는 데이터를로드하는 데 필요한 일종의 xml 파서가 필요합니다. 설정 가져 오기 및 설정을 나타내는 객체가있는 또 다른 시나리오에서는이를 필요로하는 각 영역에 모든 설정에 대한 전역 액세스 권한이 있으며 포인터를 전달해야합니다.

Maya 나 3DS Max와 같은 시나리오에서 객체 속성을 설정하기 위해 거대한 GUI 시스템을 사용하는 곳에서는 어떻게 이것이 깨끗하고 OO 방식으로 수행됩니까? 위젯은 3D 객체에서 데이터를 가져와야하며이 객체에 정보를 전송해야합니다. 대화 상자에서 3D 객체에 대해 알고 있어야합니까? 아마도 그렇지 않습니다. 어떻게 이런 일이 보통 이루어 집니까?

또 다른 시나리오에서는 프레임이 mousemove가되면 상태 표시 줄을 업데이트해야 할 수도 있습니다. 내 프레임이 내 상태 표시 줄에 대한 포인터를 가져야한다는 의미입니까?

이에 대한 모든 추상 예 또는 수치는 인정 될 것입니다.

감사

이전 작업에서
+1

농담하니, 좋은 질문입니다 ... – jmasterx

답변

2

, 우리는 우리의 다양한 애플 리케이션을위한 여러 XML 파일이 있고, 구성의 많은 부분이 유사하지만, 환경 및 실행 환경에 따라 다양. 이 구성의 대부분은 타사 서비스의 사용자 이름과 암호입니다. 암호가 바뀌면 수십 개의 XML 파일을 조사하고 변경 한 다음 수십 개의 응용 프로그램을 다시 배포해야합니다.

인터페이스와 유형 계층 구조를 사용하여 모든 XML 구성을 객체로 마이그레이션했습니다. 인터페이스를 통해 일반적인 구성 구조에 대해 코드를 작성하고 컴파일 시간 지원을받을 수있을뿐만 아니라 종속성 삽입을 사용하여 런타임 인스턴스를 해결할 수있었습니다. 유형 계층 구조를 사용하면 기본 클래스에서 변경되지 않는 구성을 한 번 정의 할 수 있었고 실제로 다른 값만 대체 할 수있었습니다.

작은 응용 프로그램에 대해서는 과도한 것이지만 우리의 경우에는 필수적이었습니다.

+0

고마워! 이건 재미 있네 :) – jmasterx