고객 제품, 정보 및 기타 사항을 다루는 고객 컨트롤러가 있습니다. 일부 제품에는 약간 다르게 처리하려는 특수화가 있으므로 그렇게하는 과정이 필요합니다. 현재 고객이 해당 제품을 가지고 있는지 확인하기 위해 if
명세서에 하드 코딩되어 있습니다. 그렇다면 여분의 탐색 요소 등을 추가 할 것입니다.MVC - 특정 상황에서 다른 컨트롤러 사용
더 나은 방법이라고 생각되는 것은 내 고객 컨트롤러를 상속하지만 추가 기능을 추가하는 컨트롤러. 요청을 받으면 어떤 고객 파생 컨트롤러가 요청과 일치하는 기능 (예 : ViewSpecialProduct
)을 가지고 있는지 확인한 다음 바닐라 고객 컨트롤러와 대조적으로이를 호출 할 수 있다면 꽤 멋지게 될 것입니다.
더 쉬운 방법이 있습니까? 위의 방법을 수행하지 않으면 어떻게됩니까? 아직 경로와 컨트롤러 초기화 프로세스에 대해서는 충분히 알지 못합니다.
감사
chris ** if 문 ** 컨트롤러 동작의 일부 또는보기에 포함되어 있습니까 ?? –
안녕하세요 짐. 현재 컨트롤러의 일부로 사용됩니다. 특정 제품을 선택하면보기로 전송되는 새로운 탐색 요소가 만들어집니다. 그러나 그것들을 제어하는 함수는 현재 주 제어기의 일부이며 다른 제어기의 일부가되어야한다고 생각합니까? – Chris
좋습니다. 'specialties'제품이 ** 사전에 알려진 ** 시나리오 인 경우 해당 추가 하위 클래스에 대한 인터페이스를 만들 수 있습니다. 제품 오브젝트를 채우는 경우, 구체적인 구현이 아닌 적절한 인터페이스를 사용하여 제품을 정의하십시오. 이를 통해 컨트롤러 작업 내에서 다양한 제품 구현을 처리하는 방법을 결정할 수있는 인터페이스 관련 부분 뷰 및/또는 로직을 가질 수 있습니다. 나는 단일 컨트롤러를 고집하지만 인터페이스 구현을 필요에 따라 다룰 것이다. –