2010-11-29 5 views
3

MVC 패턴에서 컨트롤러는 다른 두 가지 측면과 비교할 때 가장 재사용이 쉽지 않습니다. 이제 웹 앱과 모바일 앱 (iPhone이라고 함)으로 사용할 수있는 앱 (Ordering Pizza)이 있다고 가정 해 보겠습니다. 그래서이 경우 모델 (또는 데이터)을 재사용 할 수 있다고 생각합니다. 뷰를 재사용 할 수 없습니다.MVC의 컨트롤러 재사용

컨트롤러에 관해서는 재사용이 가능합니까? 이미 작동중인 웹 앱이 있다면 모바일 앱용 컨트롤러 로직을 다시 사용할 수 있습니까? 또한 "비즈니스 로직"은 MVC에 정확히 무엇이 있습니까?

답변

6

컨트롤러가 서비스 계층을 호출합니다. 서비스 계층은 모델을 사용하여 비즈니스 논리를 수행합니다. 컨트롤러에는 비즈니스 로직이 포함되지 않습니다. 작업을 서비스 계층에만 위임해야합니다. 나는 도메인 모델이 드러내는 부분 인 서비스 레이어를 MVC의 "모델"이라고 말할 수 있습니다.

즉, MVC 프레임 워크가 컨트롤러를 재사용 할 수 있는지 여부에 대해서는별로 신경 쓰지 않는다고합니다. 중요한 부분은 서비스 계층 코드가 재사용되기 때문에 변경해서는 안되는 모델입니다. 게다가 코드를 올바르게 작성하면 컨트롤러가 매우 얇아서 재사용성에 문제가 없어야합니다.

모바일 응용 프로그램 용 웹 응용 프로그램의 컨트롤러 로직을 재사용 할 수 있습니까? 나는 생각하지 않지만 서비스 레이어를 사용할 수 있습니다. 보기조차도 웹에서 모바일 앱으로 직접 사용될 수 있다면 회의적입니다. 요구가 너무 다릅니다.

응용 프로그램 디자인에 관심이 있고 비즈니스 논리를 구성하는 방법을 배우는 경우 도메인 기반 디자인을 살펴 보시기 바랍니다.

관련 문제