2009-06-28 2 views
1

저는 중소 규모의 웹 응용 프로그램을 직접 만드는 단계에 있습니다. "PHP Objects, Patterns and Practice"를 읽었으며 빠른 프로덕션이 최우선이기 때문에 페이지 컨트롤러를 사용하기로 결정했습니다. PHP 프레임 워크에 익숙하지 않아 정교한 프론트 컨트롤러를 만드는 것이 현재 프로젝트보다 중요하기 때문에 페이지 컨트롤러도 매력적이었습니다. 내 계획은 최대한 빨리 웹 사이트의 페이지 컨트롤러 버전을 릴리스하고보다 복잡한 소프트웨어 디자인을하기 전에 잠재 고객이 좋아하는지 확인하는 것입니다. 나는 길 ... 정말 프론트 컨트롤러로 전환해야하는 시점에서 아래로 더 '모듈'및 개발자를 추가하도록 결정할 수 있습니다 말했다페이지 컨트롤러에서 프런트 컨트롤러로 전환하기위한 친숙한 코드

. 위에서 언급 한 책은 "페이지 컨트롤러로 시작하여 전면 컨트롤러 패턴으로 이동하는 것은 불가능하지 않습니다"라고 말하면서 "불가능하지 않다"는 말은 매우 어렵다고 생각합니다.

내 질문은 : 그것은 프론트 컨트롤러 설계 페이지 컨트롤러에서 전환을하는 방법 '하드'입니다 ? 내 페이지 컨트롤러 기반 앱을 작업하는 동안 전면 컨트롤러 디자인으로 원활하게 전환 할 수 있도록 코드를 작성하려면 무엇을주의해야합니까? 이상적인 상황은 코드를 가능한 한 작게 재 작성/재구성하고 프론트 컨트롤러를 관련 클래스/객체로 압정하는 것입니다. 지금은 MVC 유지에 대해서만 신중하기 때문에 숙련 된 개발자의 조언은 훌륭합니다. 고맙습니다.

답변

1

당신의 주된 관심사는 적절하게 설계된 모델 클래스에 "비즈니스 로직"을 넣는 것이라고 생각합니다. 즉, 페이지 컨트롤러에 이러한 로직을 직접 삽입하지 마십시오. 대신 페이지 컨트롤러를 사용하여 GET 및 POST와 같은 입력을 구문 분석하고 올바른 비즈니스 논리 개체를 인스턴스화 한 다음 실제 데이터 처리를 수행 할 올바른 메서드를 호출하십시오. 비즈니스 오브젝트 출력 일들이, 단순히 컨트롤러에 대한 데이터를 반환하지 않습니다 -

페이지 컨트롤러는 표시 할 뷰를 선택하는 책임을 져야한다.

이 접근법을 사용하면 대부분의 코드가 모델 클래스에 있어야하며, 프런트 컨트롤러를 사용하여 다시 쓰기를 원하는 경우 프런트 컨트롤러와 작동하도록 페이지 컨트롤러 만 변경하면됩니다. 다른 것을 수정할 필요가 없기를 바랍니다.

1

나는 약 3 년 또는 4 년 전에 언급 한 책을 객체 지향 프로그래밍의 첫 번째 소개로 읽었으며 훌륭한 책을 발견했지만 실제로 모든 것을 파악해야한다고 말해야합니다. CakePHP를 사용하기 시작했고 실제로 코드가 어떻게 돌아가는지 살펴 봅니다. 이 책의 예는 때때로 혼란 스러울 수 있습니다.

내가 거기에 프레임 워크의 일부에서 두 번째 모양을 가지고 추천, 케이크 좋은, YII은 더 나은하기위한 것입니다. 후드 아래서 좋은 모습을 보일 준비가되어있는 한, 시스템을 설치하기가 그리 길지 않으며, 소중한 학습 도구가 될 수 있습니다.

관련 문제