##된 모든 뷰에게 업데이트 메시지를 보내게 된다. 뷰는 java. util. Observer를 implement하여 만들면 update method를 구현할 수 있다. update함수의 두 번째 매개변수는 Object 모델에서 넘어온 추가정보를 받는 데에 사용된다. interface Observer { void update ( Observable t, Object o ) ; } 뷰는 반드시 모델에게 질의하여 업데이트하는 부분이 구현되야 한다. 모델은 addObserver라는 함수를 이용하여 뷰를 자신에게 등록시킨다. 모델은 자신에게 등록된 모든 뷰를 기억하고 있다가 자신의 상태가 바뀌게 되면 등록된 모든 뷰에 notify 함수를 호출하여 뷰를 update시킨다. 모델은 뷰를 여러 개 가질 수 있다. MVC에서는 이것을 허용하고 있다. 또한 뷰도 여러개의 모델에 등록될 수 있다. 같이 보기 [ 편집 ] 다층 구조 옵저버 패턴. 참고 자료 [ 편집 ] Building GUI with the MVC pattern [ 1 ] 각주 [ 편집 ] ↑ Buschmann, Frank ( 1996 ) Pattern - Oriented Software Architecture. ↑ Trygve M. H
모델 - 뷰 - 컨트롤러 - 위키백과, 우리 모두의 백과사전 모델 - 뷰 - 컨트롤러 위키백과, 우리 모두의 백과사전. ( MVC 패턴에서 넘어옴 ) 둘러보기로 가기 검색하러 가기 모델, 뷰, 컨트롤러의 관계를 묘사하는 간단한 다이어그램. 주 : 굵은 선은 직접적인 관계를, 점선은 간접적인 관계를 나타낸다 ( 옵저버 패턴 ). 웹 애플리케이션에서 일반적인 MVC 구성요소 다이어그램 모델 - 뷰 - 컨트롤러 ( Model - View - Controller, MVC ) 는 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴이다. 이 패턴을 성공적으로 사용하면, 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있다. MVC에서 모델은 애플리케이션의 정보 ( 데이터 ) 를 나타내며, 뷰는 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소를 나타내고, 컨트롤러는 데이터와 비즈니스 로직 사이의 상호동작을 관리한다. 목차 1 구성요소 2 역사 3 모델 4 뷰 5 컨트롤러 6 원리 7 같이 보기 8 참고 자료 9 각주 10 외부 링크 구성요소 [ 편집 ] 모델 - 뷰 - 컨트롤러는 응용 프로그램을 세 가지의 구성요소로 나눈다. 각각의 구성요소들 사이에는 다음
" " 분류 : 프로그래밍 패러다임소프트웨어 구조소프트웨어 디자인 패턴숨은 분류 : 영어 표기를 포함한 문서 둘러보기 메뉴 개인 도구 로그인하지 않음토론기여계정 만들기로그인 이름공간 문서토론 변수 보기 읽기편집역사 보기 더 보기 검색 둘러보기 대문사용자 모임요즘 화제최근 문서 보기임의 문서로도움말기부 도구 여기를 가리키는 문서가리키는 글의 최근 올리기특수 문서 목록고유 링크문서 정보위키데이터 항목이 문서 인용하기 다른 프로젝트 공용 인쇄 / 내보내기 책 만들기PDF로 다운로드인쇄용 판 다른 언어 IndonesiaItaliano 日 本 語 / / 中 文 링크 편집 이 문서는 2019년 5월 11일 ( 토 ) 13 : 59에 마지막으로 편집되었습니다. 모든 문서는 크리에이티브 커먼즈 저작자표시 - 동일조건변경허락 3. 0에 따라 사용할 수 있으며, 추가적인 조건이 적용될 수 있습니다. 자세한 내용은 이용 약관을 참고하십시오. 미국 및 다른 국가에 등록되어 있는 Wikimedia Foundation, Inc. 소유의 등록 상표입니다. 개인정보 정책 위키백과 소개 면책 조항 개발자 쿠키 정책 모바일 보기
##토크 - 80에서의 애플리케이션 프로그래밍 : 모델 - 뷰 - 컨트롤러를 사용하는 방법 》 [ 3 ] 에서 깊이 있게 설명되었다. MVC는 여러 파생 패턴을 가지고 있다 ; 그 중 ( 마이크로소프트가 사용했기 때문에 ) 가장 널리 알려진 것은 1990년대 초기부터 등장하기 시작한 모델 뷰 프리젠터 패턴이다. 이 패턴은 MVC의 진화된 모습을 목표로 설계되었다. 그러나 모델 - 뷰 - 컨트롤러는 여전히 매우 널리 사용되고 있다. 2002년 11월 W3C는 미래의 웹 애플리케이션에 사용될 X폼즈 ( XForms ) 아키텍처에 MVC 구조가 포함되도록 투표하여 가결하였다. [ 4 ] 이 규격은 XHTML 2. 0 규격에 바로 통합될 것이다. 현재 20개가 넘는 업체가 애플리케이션 스텍에 MVC가 통합된 X폼즈 프레임워크를 지원하고 있다. 모델 [ 편집 ] 모델 ( model ) 이란 어떠한 동작을 수행하는 코드를 말한다. 표시 형식에 의존하지 않는다. 다시 말해, 사용자에게 어떻게 보일지에 대해 신경쓰지 않아도 된다. 모델은 순수하게 public 함수로만 이루어진다. 몇몇 함수들은 사용자의 질의 ( query ) 에 대해 상태 정보를 제공하고 나머지 함수들은 상태를 수정한다. 뷰 [ 편집 ]
##자 패턴 Read write lock 스케줄링 ( 컴퓨팅 ) 스레드 풀 en : Thread - local storage 아키텍처 패턴 프론트 컨트롤러 Interceptor 모델 - 뷰 - 컨트롤러 다층 구조 Specification 발행 - 구독 모델 en : Naked objects Service locator Active record Identity map 데이터 접근 객체 데이터 전송 객체 ADR 제어 반전 기타 패턴 Blackboard Business delegate Composite entity 의존성 주입 Intercepting filter 지연된 로딩 모의 객체 Null object Object pool Servant Twin Type tunnel en : Method chaining 관련 도서 디자인 패턴 ( 책 ) en : Enterprise Integration Patterns 인물 크리스토퍼 알렉산더 en : Erich Gamma Ralph Johnson en : John Vlissides 그래디 부치 en : Kent Beck 워드 커닝햄 en : Martin Fowler Robert Martin en : Jim Coplien Douglas Schmidt en : Linda Rising 커뮤니티 en : The Hillside Group The Portland Pattern Repository 원본 주소 " " 분류 : 프로그래밍 패러다임소프트웨어 구조소프트웨어 디자인 패턴숨은 분류 : 영어 표기를 포함한 문서 둘러보기 메뉴 개인 도구
] 모델 - 뷰 - 컨트롤러는 응용 프로그램을 세 가지의 구성요소로 나눈다. 각각의 구성요소들 사이에는 다음과 같은 관계가 있다. [ 1 ] 컨트롤러는 모델에 명령을 보냄으로써 모델의 상태를 변경할 수 있다. ( 예 : 워드 프로세서에서 문서를 편집하는 것 ) 또, 컨트롤러가 관련된 뷰에 명령을 보냄으로써 모델의 표시 방법을 바꿀 수 있다. ( 문서를 스크롤하는 것 ) 모델은 모델의 상태에 변화가 있을 때 컨트롤러와 뷰에 이를 통보한다. 이와 같은 통보를 통해서 뷰는 최신의 결과를 보여줄 수 있고, 컨트롤러는 모델의 변화에 따른 적용 가능한 명령을 추가 · 제거 · 수정할 수 있다. 어떤 MVC 구현에서는 통보 대신 뷰나 컨트롤러가 직접 모델의 상태를 읽어 오기도 한다. 뷰는 사용자가 볼 결과물을 생성하기 위해 모델로부터 정보를 얻어 온다. 역사 [ 편집 ] MVC는 제록스 팰러앨토 연구소에서 스몰토크 관련 일을 하던 Trygve Reenskaug이 1979년 최초로 소개했다. [ 2 ] 관련 구현은 영향력있는 논문인 《 스몰토크 - 80에서의 애플리케이션 프로그래밍 : 모델 - 뷰 - 컨트롤러를 사용하는 방법 》 [ 3 ] 에서 깊이 있게 설명되
Frank ( 1996 ) Pattern - Oriented Software Architecture. ↑ Trygve M. H. Reenskaug / MVC - 제록스 팍 1978 - 79 ↑ " Applications Programming in Smalltalk - 80 : How to use Model - View - Controller ". 2009년 8월 1일에 원본 문서에서 보존된 문서. 2011년 6월 12일에 확인함. ↑ Forms 1. 0 Basic Profile 외부 링크 [ 편집 ] 썬 웹사이트의 MVC 패턴 살펴 보기 vdeh소프트웨어 디자인 패턴Gang of four 패턴생성 패턴 추상 팩토리 빌더 팩토리 메서드 프로토타입 싱글턴 구조 패턴 브리지 컴포지트 데코레이터 퍼사드 플라이웨이트 프록시 동작 패턴 책임 연쇄 커맨드 인터프리터 반복자 중재자 메멘토 옵서버 상태 전략 템플릿 메소드 비지터 동시성 패턴 액티브 오브젝트 Balking Binding properties en : Double - checked locking Event - based asynchronous en : Guarded suspension 조인 락 모니터 ( 동기화 ) Proactor 반응자 패턴 Read write lock 스케줄링 ( 컴퓨팅 ) 스레드 풀 en : Thread - local storage
함수들은 사용자의 질의 ( query ) 에 대해 상태 정보를 제공하고 나머지 함수들은 상태를 수정한다. 뷰 [ 편집 ] MVC에서 모델은 여러 개의 뷰 ( view ) 를 가질 수 있다. 뷰는 모델에게 질의를 하여 모델로 부터 값을 가져와 사용자에게 보여준다. 컨트롤러 [ 편집 ] MVC의 뷰는 여러 개의 컨트롤러 ( Controller ) 를 가지고 있다. 사용자는 컨트롤러를 사용하여 모델의 상태를 바꾼다. 컨트롤러는 모델의 mutator 함수를 호출하여 상태를 바꾼다. 이때 모델의 상태가 바뀌면 모델은 등록된 뷰에 자신의 상태가 바뀌었다는 것을 알리고 뷰는 거기에 맞게 사용자에게 모델의 상태를 보여 준다. 원리 [ 편집 ] 자바언어에서 모델은 java. util. Observable을 상속 ( extends ) 받아 만들 수 있다. 모델에는 현재의 상태 정보를 변경하거나 다른 클래스에게 알릴 수 있는 함수가 있어야 한다. 모델의 상태를 변경하는 함수 ( mutator ) 는 setChanged와 notifyObservers를 호출하여야 한다. NotifyObser는 모델에 등록된 모든 뷰에게 업데이트 메시지를 보내게 된다. 뷰는 java. util. Observer를 implement
모델-뷰-컨트롤러(model-view-controller, MVC)는 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴이다. 이 패턴을 성공적으로 사용하면, 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있다. MVC에서 모델은 애플리케이션의 정보(데이터)를 나타내며, 뷰는 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소를 나타내고, 컨트롤러는 데이터와 비즈니스 로직 사이의 상호동작을 관리한다.