동일한보기 컨트롤러에서 언제 새보기를 만들어야하며 언제 새보기 컨트롤러를 만들어야합니까?동일한보기 컨트롤러에서 여러보기를 사용해야하는 경우?
답변
이것은 일반적인 질문입니다. 응용 프로그램을 만드는 방법을 알려주기가 어렵습니다. 그건 그렇고, 약간의 (그리고 간단한) 설명이 이것 일 수 있습니다.
컨트롤러는 응용 프로그램의 논리를 구현해야하며 응용 프로그램의 특정 기능을 "제어"해야합니다. 뷰는 컨트롤러가 사용자에게 보여주고 싶은 것을 보여줘야합니다.
어떤 종류의 논리 (사용자 검사/데이터로드 등)로 무언가를 만들고 싶다면 컨트롤러를 만들어야합니다. 사용자에게 뭔가를 보여주고 싶다면보기를 만들 수 있습니다.
컨트롤러의 차이점은 응용 프로그램에 따라 다르며 하나의 종류의 논리를 작성해야합니다. 그렇지 않으면 다른 기능을 가진 큰 응용 프로그램이있는 경우 N 개의 컨트롤러를 만듭니다.
다음은 규칙 이상의 가이드 라인입니다.
일부 매개 변수에 따라 코드를 모듈화하려면 새로운보기 컨트롤러를 만들어야합니다 (기능에 따라 다름). 예. DashboardViewController
, SettingsViewController
등
DashboardViewController
안에는 많은 일들이 진행될 수 있습니다. 각각은 view
이 필요할 수도 있습니다.
나는 이것이 객관적인 것보다 주관적인 것이라고 생각한다. 한 프로젝트에서 필자는 탭 탐색을 변경해야 할 때마다 새 컨트롤러를 만들거나 탭을 정의하는 onInit 메서드에서 if/else의 엉망으로 끝낼 것입니다.
다른 경우 논리 그룹인지 묻는 것만 큼 간단 할 수도 있습니다. 예 : 사용자 추가/편집/제거를 관리하는 UserController가 있습니다. 로그인/로그 아웃/forgotPassword에 해당 컨트롤러를 사용해야합니까, 아니면 AuthController를 만들어야합니까? AuthController가 로그인을 시도하는 동안 UserController에 대한 보안은 admins 여야하기 때문에 개인적으로 필자는 AuthController로 분리 할 것입니다. 그런 다음 사용자가 로그인하면 자신의 프로필에 대해 UserController를 수행 할 것인지 아니면 다시 ProfileController를 만들 것인지 권한 차이가 있기 때문에 수행하십시오. 로그인 한 모든 사용자는 자신의 프로파일을 관리 할 수는 있지만 그것이 내 UserController에 액세스해야한다는 것을 의미하지는 않습니다.
그러나 add/edit/delete/profile/login/logout/forgotPassword보기를 하나의 컨트롤러에 넣고보기 단위로 권한을 처리하면 "틀린"것은 아닙니다. 모델에서 비즈니스 로직을 컨트롤러 밖으로 유지하고 가능한 한 많은 로직을 뷰에서 유지하는 한, 커브와 리팩토링을 앞두고 있습니다. 너무 어려워.
로드하는 메소드에 따라 초기화하는 onInit에서 많은 if/else 작업을 수행하는 경우 ... 별도의 컨트롤러를 만드는 것이 좋습니다.
- 1. 파이썬 디버거를 사용해야하는 경우
- 2. 9 패치를 사용해야하는 경우
- 3. POJO와 SLSB를 사용해야하는 경우
- 4. WCF/REST를 사용해야하는 경우
- 5. 임베디드 데이터베이스를 사용해야하는 경우
- 6. 'segue'는 다른보기보기 셀에서 동일한보기 컨트롤러로
- 7. 여러보기를 제어하는 가장 좋은 방법은 무엇입니까?
- 8. C#/C++을 사용해야하는 경우
- 9. log4j - 테스트에서 PropertyConfigurator를 사용해야하는 경우?
- 10. 임베디드 프로세서에서 Simulink를 사용해야하는 경우
- 11. Server.Transfer 또는 Response.Rewrite를 사용해야하는 경우?
- 12. 동적 메모리를 사용해야하는 경우 C++
- 13. AppEngine - 부모 관계를 사용해야하는 경우?
- 14. Jira Agile에서 "Story"를 사용해야하는 경우와 "Improvement"를 사용해야하는 경우
- 15. UIViewController에서 여러보기를 사용하는 방법
- 16. 여러보기를 단일보기에 결합하는 방법
- 17. 여러보기를 처리하는 방법
- 18. 여러보기를 여러보기 모델에 바인딩
- 19. 여러 XIB의 동일한보기
- 20. ios6에서 탐색에 대한 동일한보기
- 21. ZF2 - 컨트롤러의 여러 동작에 대한 동일한보기 파일
- 22. iOS : 동일한보기 컨트롤러를 밀어 넣으십시오
- 23. 동일한보기 이름을 사용할 수 없습니까?
- 24. 컨트롤러에서 Json 결과를 반환하는 경우
- 25. 탐색 컨트롤러없이 여러보기를 만드는 방법?
- 26. Objective C 개발에서 프레임 워크를 사용해야하는 경우
- 27. plist를 사용해야하는 경우, UIPickerView 데이터 소스 도움말
- 28. 스프링에서 응용 프로그램 컨텍스트를 사용해야하는 경우.
- 29. PDO 준비 쿼리를 사용해야하는 경우. mysql_real_escape error
- 30. C++ - 클래스에서 포인터 멤버를 사용해야하는 경우