2009-09-08 4 views

답변

2

모델을보기와 분리하지 않으면 동일한 정보를 다른 방식으로 표시하려는 경우 나중에 리팩터링하는 것이 어려워집니다.

1

MVC는 애플리케이션의 비즈니스 로직과의 구현 및 상호 작용만큼 인터페이스 디자인과 관련이 없습니다.

http://en.wikipedia.org/wiki/Model -보기 - 컨트롤러

4

MVC는 당신이 MVC를 가지고, 당신은 아마 나중에 당신이 어떤 코드를 재사용하거나 변경하려면, 원하는 비즈니스 규칙과 관련하여 GUI의 responsabilities을 분리하는 데 도움이 될 것입니다 것입니다 도와주세요.

다음은 Martin Fowler의 GUI에 대한 다른 아키텍처입니다.

http://martinfowler.com/eaaDev/uiArchs.html

모델 - 뷰 - 발표자 (MVP)

겸손보기

그리고 더.

0

MVC는 현대적인 응용 프로그램 개발의 필요성입니다. Model-View-Controller을보십시오.

요약 : 쉽게 개별 부품을 수정할 수 있도록

어떻게 웹 응용 프로그램의 사용자 인터페이스 기능을 모듈화합니까?

  • 모델 :

    모델 - 뷰 - 컨트롤러 (MVC) 패턴은 세 별도 클래스 [Burbeck92]으로 사용자 입력에 기초하여 도메인 표현하고 행동의 모델을 구분 . 이 모델은 응용 프로그램 도메인의 동작 및 데이터를 관리 (일반적으로
    컨트롤러에서) 상태를 변경 지시 (보통 뷰에서)의 상태에 대한 정보를 요청, 응답에 응답합니다.

  • 보기. 보기는 정보 표시를 관리합니다.
  • 컨트롤러. 컨트롤러는 사용자로부터 마우스 및 키보드 입력을 해석하여 으로 적절하게 변경하려면 모델 및/또는보기를 알립니다.

     
        1. Data (Model) 
        2. User interface (View) 
        3. Logic of the application (Controller) 
    

    그것의 장점은 작은 프로젝트에 표시되지 않을 수 있습니다

+0

실제로 게임이 아닌 다른 응용 프로그램이 마우스와 키보드를 전용 방식으로 조작 할 수있는 고유 한 방식으로 처리하기는 쉽지 않으므로 실제로 '현대적'(1990 년 이후) 환경에는 실제로 적용되지 않습니다. 쓰여질 코드. – soru

1

모델 뷰 컨트롤러 아키텍처는 단순히 사이의 분리를 의미한다.그러나 다른 사람들이 언급하는 것처럼, MVC는 팀에서 작업 할 때, 특히 앱의 크기를 조정해야 할 때 유용합니다.

익숙해지기를 원하는 또 다른 기술은 Object Relational Mapper입니다. 이것은 데이터베이스를위한 객체 지향 인터페이스를 제공하는 클래스 세트입니다.

2

이들은 좋은 답변이며, 나는 another way to do it을 우연히 만났을 뿐이며, 지금은 MVC를 사용해야하는 것보다 오히려 파고들 것입니다.

+0

그 방법의 장점을 알고 있지만, MVC와 어떤면에서 상호 배타적인지는 알 수 없습니다. – Imagist

+0

@Imagist : 동적 대화 상자를 사용하면 모델은 단순한 데이터 구조에 불과하며보기는 단순한 "페인트"프로그램 일 뿐이며 프로그래머가 작성해야하는 컨트롤러가 없습니다. 프로그래머는 이벤트, 알림, 바인딩, 그런 종류의 것에 관심을 가질 필요가 없습니다. –

+0

위키 피 디아에 대한 귀하의 기사를 삭제 제안합니다. 그 기사는 당신의 작업에 대한 광고입니다. 이것은 백과 사전 설정에서 매우 관련이 없습니다. – Marian

0

나는이 태그를 java로 태그했지만 JavaFX 또는 웹 기반 응용 프로그램에도 적용 할 수 있습니다.

WPF에서 현재 널리 사용되는 기술 중 하나는 Model-View-ViewModel입니다.

  • 모델이 당신의 UI 완전히 불가지론, 여기에 비즈니스 로직이있는 귀하의 비즈니스 계층을 나타냅니다
  • 보기는 컨트롤의 사용자 인터페이스 구성 요소는 주로 XAML 마크 업
  • 될 것입니다
  • ViewModel : UI와 상호 작용할 데이터 구성 요소입니다. 여기서 모델과 상호 작용할 명령을 정의합니다. 이것은 어떤 측면에서는 컨트롤러로 생각할 수 있지만 컨트롤러에는 일반적으로 많은 상태가없는 상태가 있습니다.
0

모델 - 뷰 컨트롤러는 프로그램의 다른 부분을 캡슐화하는 가장 보편적 인 방법 중 하나이지만 결코 유일한 방법은 아닙니다. 다른 많은 옵션이 있습니다. 예를 들어, 많은 GUI 시스템은 뷰 + 컨트롤러가 아닌 위젯 + 스타일을 사용합니다. 결합 된 기능은 거의 동일한 것으로 나오지만 책임의 분리는 미묘하게 다릅니다. 위젯 + 스타일에서 각 위젯의 시각적 표현은 작업 (일련의 작은보기 + 컨트롤러 시스템과 비슷합니다)에 강력하게 연결됩니다. 응용 프로그램의 전체 모양과 느낌은 스타일에 따라 결정됩니다 (이것은 시각적 시스템을 응집력있게 만드는 반면 MVC에서는 시각적 시스템을 응집력있게 만드는 것입니다).

MVC는 일반적으로 이해하기 쉽고 유지하기가 쉽고 광범위하게 적용될 수 있기 때문에 매우 일반적입니다. 나의 조언은 그것을 잘 배우고 자주 사용하는 것입니다. 그러나 나는 또한 그것이 당신의 "망치"가되게하는 것에 대하여 경고합니다 (당신이 가진 모든 것이 망치 일 때, 모든 것이 손톱처럼 보이기 시작합니다). 다른 옵션을 알고 적절한 경우 사용하십시오.

관련 문제