답변:
MVC는 아키텍처 패턴에 가깝지만 완전한 응용 프로그램은 아닙니다. MVC는 대부분 응용 프로그램의 UI / 상호 작용 레이어와 관련이 있습니다. 여전히 비즈니스 로직 레이어, 아마도 일부 서비스 레이어 및 데이터 액세스 레이어가 필요할 것입니다. 즉, n 계층 접근 방식을 사용하는 경우입니다.
디자인 패턴 은 코드를 효과적으로 작성하는 방법을 알려줍니다 ( 코드 메트릭 고려 ).
몇 가지 이점 :
아키텍처 패턴 은 리소스를 효과적으로 활용하는 방법을 말합니다.
MVC에서 a). 자바 스크립트 템플릿을 사용하여 뷰를 만들 수 있으며 html도 사용할 수 있습니다 . b). 컨트롤러는 .NET 프레임 워크로 작성 될 수 있으며 c). 모델은 Java로 작성할 수 있습니다. json 데이터 만 반환하는 Java 서비스를 사용할 수 있습니다.
디자인 패턴에서는 Java의 AdminUser 클래스, C #의 Customer 클래스, Php의 Partners 클래스 및 Ruby의 팩토리 패턴과 같은 여러 기술로 코드를 작성할 수 있는 패턴 을 구현할 수 없습니다 . 흠 .. 너무 쉬워요? :)
MVC (모델 / 뷰 / 컨트롤러) 트라이어드 클래스 내부의 디자인 패턴에는 다음이 포함되며 이에 국한되지 않을 수 있습니다.
Observer , 변경된 객체 (모델)가 다른 객체 (뷰)의 세부 사항을 알 필요없이 하나 (모델)에 대한 변경 사항이 다른 수 (뷰)에 영향을 미칠 수 있도록 객체를 분리합니다.
Composite , 개별 객체 (뷰 구성 요소) 중 하나를 처리하는 것처럼 그룹 객체 (복합 뷰)를 처리 할 수 있습니다.
Strategy , 뷰가 Controller 하위 클래스의 인스턴스를 사용하여 특정 응답 전략을 구현하는 경우 다른 전략을 구현하려면 인스턴스를 다른 종류의 컨트롤러로 교체하면됩니다.
뷰에 대한 기본 컨트롤러 클래스를 지정하는 Factory Method .
데코레이터 ,보기에 스크롤링 추가.
참고
Eric Gamma, Richard Helm, Ralph Johnson 및 John Vlissides. 디자인 패턴 : 재사용 가능한 객체 지향 소프트웨어의 요소 . Addison-Wesley, Reading, MA, 1994 년.
MVC는 항상 소프트웨어 아키텍처 책에서 프레젠테이션 레이어로 언급되고 소개되었습니다.
다음 책을 읽으십시오.
기업용 Microsoft.NET 솔루션 설계 (Microsoft Press)
전문 ASP.NET 디자인 패턴 (Wrox)
Microsoft.NET을 사용한 엔터프라이즈 솔루션 패턴 (Microsoft press)
엔터프라이즈 애플리케이션 아키텍처의 패턴 (Addison Wesley)
엔터프라이즈 아키텍처에 대한 실용 가이드 (연습 관)
Martin Fowler에 따르면 이들은 GUI 아키텍처입니다. Martin Fowler-GUI 아키텍처
GUI 관련 클래스에만 영향을 미치기 때문에 애플리케이션의 크기에 따라 다르며, 작은 것 (대부분 GUI)에서는 아키텍처 패턴으로 간주 될 수있는 반면, 거대한 경우에는 GUI에 적용하는 디자인 패턴 일뿐입니다. 코드 (앱 코드의 10 % 일 수 있음).
MVC는 아키텍처 패턴입니다. http://molecularsciences.org/zend/mvc_model_view_controller에 매우 명확하게 명시되고 표시됩니다 .