문제

MVC는 30 년 패턴 일뿐 만 아니라 현재 응용 프로그램을위한 적이 없었습니다. MVP는 후임자였으며 90 년대에 나오는 이벤트 기반 앱을 처리하도록 설계되었습니다. 수동 뷰와 감독 컨트롤러가 상단으로 올라간 것 같습니다. 이 두 사람에게는 MVC/MVP에 대해 이야기 할 필요가 거의 없습니다.

구체적으로, ASP.NET MVC의 컨트롤러 동작이 그 뷰를 만드는 뷰를 되 찾는가? MVC에서 컨트롤러는 뷰를 만들거나 다시 대화하지 않습니다. ASP.NET MVC를 MVC 구현이라고 부르는 것이 얼마나 정확합니까? 아니면 정확한 이름은 무엇입니까?

도움이 되었습니까?

해결책

MS가 ASP.NET MVC를 만들도록 영감을 준 것은 Ruby on Rails라고 생각합니다.

다른 팁

ASP.NET MVC는 Ruby On Rails 및 Django와 같은 웹 프레임 워크 내에서 MVC 구현의 성공에 대한 Microsoft의 승인입니다. 많은 웹 개발자들이 "의견에 따른"프로그래밍 모델 (구성에 대한 컨벤션)을 수용하고 ASP.NET WebForms가 제공하는 상태의 추상화에서 벗어나는 웹 개발에 대한 접근 방식을 더 많이 원한다는 실현.

SmallTalk MVC 패턴의 정확한 구현입니까? 아뇨. 공황의 결과인가요? 아니요. Ruby on Rails와 Django의 성공의 결과입니까? 예.

이 모델은 .NET 및 ASP.NET 스택이 제공하는 풍부한 프레임 워크를 수용하면서 컨벤션 기반 개발의 접근 및 사용에 미니멀리즘을 유지하기 때문에이 모델을 좋아합니다.

충분히 가깝고 판매 전략입니다.

그들은 자신을 MVC로 식별하는 다른 기술에 대해 ASP.NET을 판매합니다. 따라서 동일한 범주로 인식되는 것이 경쟁적으로 유용합니다.

Microsoft는 정확한 기술 식별보다 제품 포지셔닝으로 더 자주 승리합니다. (장기 배달, IMHO)

Scottgu는 첫 번째 MVC 시연에 대한 그의 게시물의 첫 부분에서 답변을 피합니다. 여기. 짧은 대답은 사람들이 그것을 요청했고 Microsoft는 그것과 함께 가기로 결정했다는 것입니다. 가능한 많은 옵션을 추가하기 위해 현재 .NET 모델에 적합하여 프레임 워크가 더 큰 목표 시장에 도달 할 수 있으며 개발자에게 올바른 프로젝트에 적합한 도구를 제공 할 수 있습니다.

ASP.NET MVC에 의해 구현 된 MVC는 오래된 MVC 패턴이 아닙니다. "클래식"MVC라고 부르는 내용에서는 뷰가 직접적으로 보이지만 읽기 만 읽기 만하면 ASP.NET MVC에서는 View에서 직접 비즈니스 모델에 액세스 할 수있는 나쁜 형태로 간주됩니다. 당신이 끝내는 것은 컨트롤러를 감독하는 것과 매우 유사한 것입니다.

public class MvcExampleController : Controller
{
    public ActionResult ActionMethod(BoundInputData inputData)
    {
        var results   = DoActualWorkInTheModelWith(inputData);
        var viewModel = CreateViewModelFromThe(results);

        return View(viewModel);
    }
}

나에게 이것은 클래식 MVC보다 감독 컨트롤러처럼 보입니다. 작업이 모델에서 완료되면보기는 뷰 모델 (일명 프리젠 테이션 모델)을 통과합니다. ViewModel은 일반적으로보기에서 UI 요소와 1 ~ 1 관계를 가지며 실제 모델의 객체처럼 보거나 보이지 않을 수도 있습니다. 실제 모델이 아닌 뷰 모델에서 작용하는보기는 나에게 수동적 인 관점처럼 많이 냄새가납니다.

이것이 "실제"MVC 구현인지 아닌지 여부에 대해서는 안됩니다. 그러나 ASP.NET MVC가 최신 웹 디자인 패턴을 사용하지 않는다고 주장하는 경우 동의하지 않아야합니다.

가장 추측, 모두 MVC에 대해 들었습니다. MVC는 잠시 동안 "모범 사례"로 이겼으며, 따라서 개발자의 세대 (또는 2 개 또는 2 개 또는 3 개)는 MVC를보고 행복한 생각을 생각합니다.

또한, 다른 많은 프레임 워크는 MVC를 비슷한 조명으로 간직하므로 Microsoft는 아마도 마찬가지로 마찬가지로 강제로 느껴집니다.

요컨대, 나는 그것에 대한 강력한 기술적 이유가 있다는 것을 의심합니다.

현재 ASP.NET 프레임 워크를 사용하여 자신의 MVC를 롤링하고 여전히 PostBack 모델을 유지할 수 있습니다.

http://www.codeproject.com/kb/aspnet/rollingyourownmvcwithasp.aspx

이것은 좋은 질문입니다. 많은 사람들이 MVC 초기 에이 질문을했습니다. Phil Haack의 답변은 프로젝트의 주요 개발자 중 하나입니다!

http://haacked.com/archive/0001/01/01/everything-you-wanted-to- know-about-mvc-and-mvp.aspx

확인하고 링크를 읽고 거기에서 이동하십시오.

또한 토론에 대한 답은 아마도#ARP 아키텍처 일 것입니다. 그들은 MVC 위에 MVP처럼 작용하도록 MVC 위에 레이어를 구축했습니다. 그 라인을 따라 Soemthing을 찾고 있다면 확인하십시오.

행운을 빕니다!

나는 이것이 기술적 결정보다 "공황 마케팅 결정"에 가깝다고 생각합니다. Ror는 매 초마다 시장을 훔치고 있었고 MSFT는 완전히 당황했기 때문에 MSFT는 무언가를 전달해야한다고 생각하여 "캠프"로 다시 과대 광고를 다시 얻을 수있는 기회를 주었다고 느꼈습니다.

또한 그들은 개발자 가이 과장된 단어를 스스로 연관 시켜서 Bac Teir 자존심을 얻도록 도와야했습니다. 선택은 이런 종류의 패턴을 제공하지 않았습니다 (상자 밖에서)

중간 숙련 된 (.NET) 개발자의 경우, 중간 숙련 된 ROR 개발자가 레이크를 발사하고 .NET 개발자도 .NET 개발자 이전에 작업 및 실행중인 개념 증명을 갖는 15 분 안에 스파이크를 만들 때 공룡처럼 느끼지 않기가 어렵습니다. vstudio.exe 시작을 시작했습니다 ...;)

나는 그것이 논란의 여지가있는 관점 인 것 같지만, 그것은 내 것이고 나는 쓴 끝까지 그것을 방어 할 것이다 ...;)

오늘날 MVC와 스캐 폴딩은 초기 속도 향상을 줄 것입니다. 그러나 유지 관리, 코드 재사용, 캡슐화 및 대부분 진짜 중요한 것 -MVC는 "은 총알"이 아니며 대부분의 시간은 장기적으로 훨씬 우수합니다 (물론 화장지처럼 사용되지 않는 한)

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