2011-01-09 6 views
0

저는 최근에 제 아이폰 게임을하고 다양한 클래스의 디자인을 결정할 때 갈림길을 발견했습니다. 지금까지 MVC 패턴을 고수했지만 다음 상황이 혼란 스럽습니다.모델보기 컨트롤러 질문

시각적으로 4 개의 버튼이 표시됩니다. 각 버튼은 컨테이너 UIView (서브 클래 싱 된)와 2 개의 UIButton (서브 클래 싱 된)으로 서브 뷰로 구성되어 있습니다. 버튼을 누르면 플립 효과와 다른 것들이 수행됩니다. 사용자 입력은 컨테이너 UIView에서 내 컨트롤러로의 target-action을 사용하고 있습니다. 이 부분은 괜찮습니다, 다음 부분은 논쟁의 여지가있는 부분입니다 :

그래서 컨테이너 뷰와 UIButtons를 서브 클래 싱했습니다. 더 많은 일을하기 위해 더 많은 데이터/메소드 (어딘가)를 추가해야합니다. 뷰 클래스에 직렬화 및 비 렌더링 관련 코드가 필요한 데이터를 두는 것은 MVC 디자인을 깨뜨리는 것처럼 보일 수 있지만 지금은 그 위치에 넣는 것이 가장 적합합니다. 내 서브 클래 싱 된 뷰가 그들 자신의 작은 MVC와 거의 같고 깔끔하게 보인다. 데이터/메소드를 뷰에서 내 메인 컨트롤러로 분리하는 것은 불필요한 것으로 보인다. 내가 어떻게해야하지?

감사합니다.

답변

0

MVC 패턴은 MVC 모델 (대개 모델 및 뷰)의 2 개 이상의 부분을 재사용 할 수 있으므로 매우 유용하므로 일반적으로 깨끗한 코드를 작성하는 가장 좋은 방법은 상속을 사용하지 않고 대신 사용하는 것입니다. (프로토콜에 기반을 둔) 대표와 (서비스 용) 의존성 주입 당신이 당신의 시스템에 대한 단위 테스트를 생성 할 수 있도록하고, 여기

는 몇 가지 흥미로운 기사입니다 코드의 개발을 업그레이드 할 수있는 더 좋은 방법 :

관련 문제