1

나는 펄 웹 사이트를 만들고 있어요, 나는 (보기에) 템플릿 툴킷, DB의 상호 작용과 비즈니스 로직 (모델)에 대한 객체의 전체 무리를 사용하는 것입니다,하지만 난 궁금하네요 : 컨트롤러는 OO해야한다 ? 그들이해야처럼MVC 컨트롤러가 객체 지향이어야합니까?

난 그냥 일관성을 위해, 느낌, 그러나 그것은 또한 내가 OO 방식의 컨트롤러와 상호 작용하고 있지 않다 때 약간 중복 될 수 느낀다. 컨트롤러는 화재와 잊어 버리는 종류의 방식으로 더 많이 호출됩니다.

아무쪼록 고맙습니다. 이 reduntant을 느끼는 경우 제 생각에는

답변

2

예, 컨트롤러 객체 지향합니다. 당신은 그들과 객체로 상호 작용해야합니다. 나중에 하위 클래스를 사용하여 확장하거나 수정할 수 있습니다. 많은 사람들이 한 명의 컨트롤러 만 필요하다고 가정하여 문제에 봉착하게됩니다. 따라서 미래의 유연성을 고려하지 않으므로 사람들이 모퉁이에 빠지게됩니다.

+0

나는 이것에 완전히 동의하지 않는다. 나는 YAGNI의 열렬한 팬이다. 나중에 언제든지 변경할 수 있습니다. 물론 이것은 많은 호출 코드를 업데이트하는 것을 의미하지만 그것이 우리가하는 일입니다. 가능한 리팩토링의 작업을 제한하거나 코드가 디자인 목표 여야한다고 확신하지 않습니다. –

+0

이것은 기능이 아니기 때문에 YAGNI는 적용되지 않습니다. 어떤 방식 으로든 그렇게하는 것만 큼 많은 작업이 필요합니다. 유연성이있는 방식으로 그렇게 할 수도 있습니다. 그러나 미래에 대한 완벽한 지식을 갖고 있다고 생각한다면 좋아하는 것을하십시오. 내 경험은 아무도 이전의 디자인을 좋아하지 않고 항상 뭔가를 구두 끈으로 묶으려고한다는 것입니다. –

2

, 당신은 그것을 사용하지 말아야합니다. 당신이 그것을 필요로하지 않는 프로젝트를 사용하는 경우

OOP는 장점보다 단점이있을 수 있습니다.

그냥 일관성에 대해 있다면 그냥 놓습니다. (예를 들어) C++에서는 stl을 사용하지만 나머지 코드는 절차 적 방법으로 작성합니다. 압도적 인 OOP를 혼합 방식으로 사용한다고 생각하시는 분이라면 코드를 읽기가 어려워지지 않는 한 (OOP, 필요한 경우 나머지는 procedura로) 사용하는 것이 좋습니다.

2

컨트롤러를 사용하는 방법과 구현 방법에 대해 걱정하지 않아도됩니다. 완벽하지는 않지만, 원한다면 디자인 황야를 통해 잘 맞은 길입니다.

+0

포인터 주셔서 감사합니다. – aidan