9

iPhone 애플리케이션 개발을위한 MVC 디자인 패턴에 대해 지금까지 여러 리소스를 읽었습니다. 그러나 나는 하나의 질문이 아이폰 개발 컨텍스트에서 MVC의 모델 부분을 관련이있다.iPhone 개발 컨텍스트의 MVC

첫째, 내가 MVC 어떻게 생각하는지 말씀을 전합니다

모델 :은 우리가 우리의 응용 프로그램의 객체에 관한 한 데이터와 관련이 있습니다. 예 : 열차 시뮬레이터의 적용보다, 열차의 각 열차는 자체 속성을 가지게되며 열차 모델에 저장됩니다.

컨트롤러 :은 UI 업데이트를 제어합니다. 기차 모델에 대한 참조를 유지하고 모델의 변경 사항을 확인합니다. 특정 열차의보기를 변경하는 경우입니다. 또한 UI 입력을 확인하여 모델 내부의 데이터를 변경할 수 있습니다.

보기 : 이것은 매우 분명합니다. UIView에 대한 모든 것, 화면에 표시되는 내용입니다. 이제

enter image description here

는 질문은 ...

합니까 모델은 모델로 간주 될 지속되어야한다? 또는 에 임의의 지속성이없는 변수가있는 클래스를 가질 수 있습니다. .... 모든 입력에 대한

감사하는이뿐만 아니라 모델로 간주 것인가, 아니면 모델 CoreData 또는 .TXT 등 파일에 처럼 어딘가에 저장해야합니다!

답변

7

모델을 모델로 간주하려면 영구적이어야합니까?

컨트롤러가 지원할 수있는 한 변경되거나 변형 될 수 있습니다.

모델

전혀 파일 CoreData 또는 .TXT에 같은 곳에 저장해야합니다.

해당하는 경우 모든 모델을 사용할 수 있습니다. 모델은 실제 논리/데이터베이스/네트워크 액세스/blablabla의 또 다른 추상화입니다 ...

+0

감사합니다. 짧고 멋지다! – doNotCheckMyBlog

3

아니오, MVC 뒤에있는 아이디어는 일반적으로 데이터베이스와 관련이 없습니다. 모델은 단순히 모든 비즈니스 로직을 포착해야합니다. 계산기를 작성하는 경우보기가 디스플레이이고 버튼은 모델이 코드를 더하고 빼는 방법을 알고 있으며 컨트롤러는 두 코드를 연결하는 코드입니다. 지속성이 없습니다.

3

아니요, 모델을 지속적으로 사용할 필요는 없습니다.

프로젝트를 시작하는 좋은 방법은 단순성을 위해 비 영구적 인 모델을 사용하는 것입니다. 그런 다음 모델을 영구적으로 변경하면 모델의 세부 사항을 알지 못하게 인터페이스를 디자인하므로보기 또는 컨트롤러를 변경할 필요가 없습니다.

모델을 영구적으로 만들 때 모델에 코어 데이터를 사용할 계획이라면 실제로 좋은 아이디어는 아닙니다. 핵심 데이터를 사용하려면 조금 다른 방식으로 수업을 설계해야합니다. 모델을 변경할 때보기 및 컨트롤러 코드를 많이 변경하지 않아도되지만 모델에 많은 코드를 변경해야합니다. 핵심 데이터를 사용할 것이라는 것을 알고 있다면 바로 시작하십시오.