문제

MVC 또는 MVP 중에서 무엇을 선택해야 하는지 묻는 것이 아니라 둘 중 하나를 웹 애플리케이션에 사용해야 하는지 묻는 것입니다.

이전 애플리케이션을 현재 디자인에서 MVC 또는 MVP 패턴으로 변환하는 것은 너무 많은 작업이 될 수 있다는 것을 깨달았습니다.하지만 새로운 앱의 경우는 어떻습니까?이것이 가장 인기 있는 아키텍처 패턴인 것 같습니다. 그렇다면 이 중 하나를 선택해야 할까요?그렇지 않다면 어떤 다른 패턴이 있습니까?

MVC 및/또는 MVP에 익숙하지 않은 경우 확인해 볼만한 좋은 질문은 다음과 같습니다. "MVP와 MVC는 무엇이며 차이점은 무엇입니까?".여기에는 각 답변을 세분화하는 다양한 웹사이트에 대한 링크를 포함하여 좋은 답변이 많이 있습니다.

도움이 되었습니까?

해결책

MVP / MVC는 HTTP Verb + URL 조합이 어떤 작업을 수행할지 결정하는 매우 좋은 방법이기 때문에 웹 응용 프로그램에서 잘 작동합니다. 팀이 다른 프레임 워크에 많은 경험이있는 경우와 같이 사용하지 않는 이유가 있지만 일반적으로 MVP / MVC 프레임 워크를 권장합니다. 더 높은 품질로 응용 프로그램이 더 빨리 완료됩니다.

다른 팁

둘 다 훌륭한 옵션입니다.

MVC는 더 넓은 채택과 Frontend (HTML / CSS) 개발자를 이해하고 사용하기 쉽기 때문에 MVC로 갈 것입니다.

또한 MVC 패턴을 채택하는 프레임 워크의 수를 고려할 때 Chanches는 MVC에서 동료와 대화하고 있습니다.

다른 질문에 대한 다음 답변을 게시했지만 더 적절할 수도 있습니다. 여기.

MVC 일반 서버 측 스크립팅에 좋습니다. MVC에서 개발자는 항상 컨트롤러를 매우 적게 유지하려고 노력합니다. 주로 컨트롤러는 적절한 모델을 선택하고보기에 반영하는 것입니다. 그러나 오늘날의 웹 애플리케이션에서는보기 부분이 급격히 바뀌었고 크고 뚱뚱하고 지저분한 컨트롤러를 생산할 수있을 정도로 복잡해졌습니다. 이제 사용자 인터페이스의 복잡한 제어 로직을 배치 할 새로운 장소가 필요합니다. 여기 MVP 그게 발표자입니다. 따라서 발표자는 특정 사용자 인터페이스 구성 요소의 논리를 제어 할 책임이 있습니다. 컨트롤러가 여전히 여기에 있다고 걱정하지 마십시오. 응용 프로그램 컨트롤러. 이는 궁극적으로 비교적 더 큰 응용 프로그램 구성 요소를 전환하는 책임이 있습니다. 그래서 MVP 말할 수도 있습니다 MVPC (!!). BTW 이것은 MVP를 이해하는 저의 방법이었으며 분명히 근거 규칙이 아닙니다.

그래서 나는 이미 경향이 있습니다 MVP 복잡한 웹 앱의 경우.

귀하의 질문은 "이러한 디자인 패턴 중 하나를 사용해야하는 것"이었습니다.

나는 그것이 실제로 당신의 프로젝트의 범위에 달려 있다고 말해야합니다. 예산이 큰 대규모 조직의 다른 시스템과의 상호 의존성을 가진 매우 큰 프로젝트에서, 나는 그들이 고려할 가치가 있다고 말하고 싶습니다.

이러한 패턴은 종종 불필요한 복잡성과 비용을 추가 할 수있는 소규모 프로젝트에서 과도하게 사용된다고 생각합니다.

느슨한 커플 링의 주요 요점은 나중에 DB 또는 UI를 변경하거나 비즈니스 로직을 재사용 할 수 있다는 것입니다. 종종 이것은 결코 일어나지 않습니다. 이러한 패턴 중 하나가 코드를 구현하고 복잡하게하는 데 시간이 오래 걸릴 것임을 알아야합니다. 그래서 나는 이것을 정말로 생각하고 당신의 옵션을 평가하는 것을 강력히 제안합니다. 작업을 완료하고 복잡성을 줄이는 매우 간단한 아키텍처를 사용하여 더 나은 솔루션을 더 빨리 제공 할 수 있습니다!

사용중인 프레임 워크에 따라 다릅니다. 지원하는 것을 사용하십시오. 내가 본 대부분의 웹 프레임 워크는 전면 컨트롤러 패턴을 사용하여 MVC 또는 MVP라고합니다.

나는 당신이해야한다고 생각합니다.특히 MS 세계에서는 Web Forms를 푸시하고 웹 애플리케이션 구축을 더 쉽게 만들기 위해 모든 작업을 수행했기 때문에 구현하기가 더 어렵습니다.
이를 사용하면 간단하게 프로그래밍할 수 있으며 많은 작업을 수행한 것처럼 느껴집니다.그러나 사이트가 커지면 속도가 느려지고 유지 관리가 더 어려워집니다.
MVC와 MVP를 사용하면 모델(작업 중인 도메인을 나타내는 기본 클래스), 컨트롤러 및 뷰를 분리할 수 있습니다.가장 좋은 점은 모바일 애플리케이션이나 Windows 앱과 같은 다른 애플리케이션에서 모델을 재사용할 수 있다는 것입니다.그런 다음 데이터베이스보다 더 많은 공통점을 가지므로 더 적은 코드를 작성해야 합니다.컨트롤러와 뷰만 작성하면 됩니다.
나는 이것에 익숙하지 않지만 한 곳에서 무언가를 변경해야 할 때 다른 곳에서 충돌이 발생하기 때문에 이점을 봅니다. 따라서 느슨한 결합을 계정에 적용하고 단위 테스트를 작성해야 합니다.Web Forms에서는 테스트 작성이 불가능합니다.

그러나 웹에 비즈니스 로직이 없고 이를 빠르게 수행해야 하는 개인이나 회사를 나타내는 애플리케이션을 구축하는 경우에는 Web Forms가 적합합니다.또한 프로토타입을 제작하여 완료되면 어떤 애플리케이션을 수행할 수 있는지 보여줄 수도 있습니다.

나는 두 패턴을 좋아한다. 내 모범 사례는 패턴을 선택하는 것입니다.

나는 두 패턴 모두에 대한 많은 응용 프로그램을 개발했는데, 내 개인적인 느낌은 당신이 RAD 개발자이고 CSS & JavaScript (주로 WebApp를 만들고 싶어하는 Winforms 개발자, 범죄 없음 ;-))에 좋지 않다는 것입니다. 웹 응용 프로그램 프로젝트에서 사용하기가 매우 쉽기 때문에 MVP 패턴을 사용하십시오.

그러나 CSS 및 JavaScript의 Allot을 알고 있으면 ASP.NET MVC 패턴을 고려해야합니다.

느슨한 커플 링이기 때문에 MVC 패턴을 선호합니다. 모델, 뷰 및 컨트롤러 사이에는 분명한 분리가 있으며 분리를 통해 테스트 중심 개발 또는 단위 테스트에 더 적합합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top