2009-10-04 3 views
0

현재 표준 UI 컨트롤로 약간의 게임을 작성 중입니다.엔진/컨트롤러의 사용자 인터페이스 요소 등록

지금까지는 좋았지 만 마음에 들지 않는 것은 codebehind 파일에서 컨트롤을 관리하고 있다는 것입니다.

모든 요소를 ​​분리하려고 할 때 사용자 인터페이스의 모든 데이터 관리와 논리를 처리하는 별도의 엔진/컨트롤러가 필요합니다.

컨트롤을 엔진에 등록 할 수 있으므로 통화 할 때마다 컨트롤을 전달할 필요가 없습니다.

은 현재 내가 사전에 .. 컨트롤에게 내가 함수를 호출 할 때마다 통과

감사를 강제하고있다!

답변

0

현재 구현에 대해 자세히 설명해 주시면 좋을 것입니다. 내가 이해할 수있는 것에서, '컨트롤을 엔진에 등록하는 방법'을 알아 내려고 시도하는 대신, 디자인 문제인지 확인하려고 노력하십시오.

아마 더 나은 재사용 성 및 유지 관리를 위해 논리적으로 분리 할 수 ​​있도록 앱/클래스/구성 요소를 구성하는 더 좋은 방법이 있을까요?

+0

많은 논리가 내 button_click 이벤트 핸들러에 있습니다. 나는 그 모든 논리를 다루는 전용 클래스를 가지고 또한 폼 요소를 업데이트함으로써 그것을 변경하고 싶다. 컨트롤을 전달할 때마다 컨트롤을 전달할 필요가 없도록 컨트롤 클래스 내에서 컨트롤의 실제 주소 (예 : C++ 포인터)를 등록하고 싶습니다. –

+0

이 방법이 효과가 있을지 확실하지 않은 경우, 빠르고 더러운 속임수는 컨트롤을 참조하는 데 사용되는 공개/내부 정적 변수를 만드는 것입니다. Button_Click에서이 정적 변수에 컨트롤을 할당하고 항상 새 코드가 필요로하는 곳에서 참조를 전달할 필요없이 컨트롤을 사용합니다. Button_Click 메서드를 종료하기 전에 참조의 할당을 해제하십시오. –

+0

그럴 수도 있지만 문제의 "감 결합"은 그걸로는 달성되지 않습니다. 나중에 클래스의 웹 서비스를 만드는 것이 목표입니다. –