2010-05-05 8 views

답변

0

모델 - 뷰 - 컨트롤러 (MVC)는 현재 소프트웨어 공학에서 사용되는 아키텍처 패턴 로 간주 소프트웨어 구조 [1]이다. 패턴은 입력 및 표시 (GUI), 독립 개발을 허용하는 "도메인 논리"(사용자를위한 응용 프로그램 논리)와 각각 테스트 및 유지 관리를 분리합니다.

http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

모델 - 뷰 - 표현은 소프트웨어 패턴, 모델 - 뷰 - 제어기 패턴의 유도체로 간주. http://en.wikipedia.org/wiki/Model-view-presenter

그래서,

MVC는 디자인 패턴입니다. 디자인 패턴은 일반적인 코딩 프레임 워크를 신속하게 복제 할 수있게 해주는 코드 구조입니다. 디자인 패턴을 응용 프로그램이 빌드 될 프레임 워크 또는 프레임 워크로 생각할 수 있습니다. MVC 프레임 워크의 가장 분명한 이점은 비즈니스 로직 (데이터베이스)과 프리젠 테이션 로직 (디자인)을 분리하는 데 도움이된다는 것입니다. 기본적으로

: 데이터베이스 및 다른 데이터 구조에 관한 일체의 코드를 포함

  1. 모델. 페이지라는 테이블이 있다면 그 테이블의 레코드를 선택, 생성, 업데이트 및 삭제할 수있는 기능과 그에 대한 기능을 제공합니다.

  2. 조회수는 스타일 시트 (CSS), HTML, 심지어 PHP 계단식 모든 디스플레이와 UI 요소, 자바 스크립트 코드가 포함되어 있습니다.

  3. 컨트롤러이 모두 포함되어 있습니다. 컨트롤러의 각 기능은 대상 또는 경로를 나타냅니다./about이라는 대상이 있다면 컨트롤러에 about()이라는 함수가 있습니다. 기본적으로 컨트롤러는 실행할 모델과 뷰를 결정합니다. 뷰와 모델 간의 계약입니다.

+3

이것들은 정의에 관한 것이지, 그것에 관한 의견이 아닙니다. –

2

각각에 대한 경험으로 얻은 조언이 있습니다.

MVC -이 패턴/아키텍처는 오래되었고, 시험되고 테스트되었습니다. 보기가 서버 (및 모델)와 분리되어있는 웹 기반 프로젝트에 정말 좋습니다.

그러나 MVC 대신 사용할 수있는 모델이있을 때 더 좋은 패턴이 있다고 생각합니다.

MVP - 바인딩을 허용하는 datacontext (예 : WinForms)가 없을 때 사용하십시오. 또한 ASP를 사용할 수없는 경우.NET에서 MVC 어떤 이유로하지만 여전히 ASP를 사용할 수 있습니다, MVP는 쉽게 모델에서 뷰를 분리하는 데 도움이 마이 그 레이션 수 있습니다.

마지막으로,이 질문은 제기되지 않았지만 MVVM이 아마도 가장 좋은 것이라고 알고 있습니다. 다른 클래스의 속성 및 메서드 (예 : WPF)에 완전히 바인딩 된 바인딩 메서드를 제공하는 datacontext가있는 경우이 메서드를 사용할 수 있습니다. MVVM은 MVP보다 더 뛰어납니다. 뷰 인터페이스를 유지할 필요가 없어 코드 양이 줄어 듭니다.

내 게시물 MVVM vs MVP vs MVC: The differences explained이 자세히 설명합니다.

관련 문제