2014-01-29 8 views
1

MVC 패턴에 따라 extJS로 응용 프로그램을 개발하고 있지만 테스트 할 수 있도록 비즈니스 논리를 어디에 둘 것인지 확신 할 수 없습니다.ExtJS 4 MVC 구조 및 테스트

다음 예제를 보겠습니다. 나는 몇 개의 숫자가 들어있는 가게가 있습니다. 버튼 (Button1)을 클릭하면 계산을하고 싶은데 나중에 그 결과를 팝업으로 보여주고 싶습니다. 버튼 --onClick -> Controller1 (이벤트 리스너) -> Controller2 (상점에서 번호 수집, 계산) ---> Controller1 (결과와 비동기 호출) 새 팝업창을 만듭니다.

이렇게하면 모든보기에서 절대적으로 분리되므로 Controller2에서 계산을 쉽게 테스트 할 수 있습니다.

이 컨트롤러의 두 종류로 연결 : - 뷰 (이벤트 리스너 및 팝업 개시) 와 상호 작용 컨트롤러 - 컨트롤러 비즈니스 로직

이 올바른 접근 방식인가에?

+0

정말 원하는 내용은 무엇입니까? 왜 그런 간단한 조작을하기 위해서 두 개의 컨트롤러가 필요합니까? – vino20

+1

@ vino20 작업의 단순성은 중요하지 않습니다. OP는 특정 작업을 수행하는 방법보다 일반적인 아키텍처에 대한 질문입니다. – existdissolve

+0

@existdissolve, 나는 당신의 말을 받아들입니다. – vino20

답변

1

글쎄, 이에 대한 약간의 논쟁이 있습니다. Ext JS에 내장 된 바닐라 MVC 접근 방식은 일반적으로 비즈니스 로직 및 뷰 이벤트 관리를 위해 컨트롤러를 활용합니다. 그래서 많은 Ext JS MVC 튜토리얼을 따라 가면 그 패턴을 발견하게 될 것입니다.

그러나 다른 사람은 제안한 것과 같은 종류의 ViewController를 선택하여보기를 더 잘 분리하는 것을 선호합니다. DeftJS에서이 기능을 잘 구현했는지 확인할 수 있습니다. http://deftjs.org/

궁극적으로, 나는 그것이 중요하지 않다고 주장한다. 것을 당신이 방법으로 응용 프로그램을 작성해야 의견의이야 :

  1. 작품
  2. 지속과 확장 성을인가하는 것이 합리적 표준 규약의 일부 설정을 따릅니다

나는 두 가지 방법 모두 이러한 요구 사항을 쉽게 해결할 수 있다고 생각합니다. 둘 다 다 했으므로 궁극적으로 사용자 환경 설정과 사용자가 가장 편안하게 구현할 수 있다고 생각합니다.