Wikipedia 에 따르면 건축 패턴입니다.
디자인 패턴에 비해 아키텍처 패턴은 규모가 더 큽니다. (Wikipedia- 건축 패턴 )
아니면 디자인 패턴이있는 건축 패턴일까요?
어느 것이 사실입니까?
답변
MVC는 아키텍처 패턴에 가깝지만 완전한 응용 프로그램은 아닙니다. MVC는 대부분 응용 프로그램의 UI / 상호 작용 레이어와 관련이 있습니다. 여전히 비즈니스 로직 레이어, 아마도 일부 서비스 레이어 및 데이터 액세스 레이어가 필요할 것입니다. 즉, n 계층 접근 방식을 사용하는 경우입니다.
답변
왜 그들 중 하나가 사실이어야합니까?
관점에 따라 둘 다 사실 일 수 있습니다.
MVC는 애플리케이션 아키텍처의 기반을 형성하는 경우 아키텍처 패턴이 될 수 있습니다.
또한 모든 애플리케이션에 적용 할 수있는 추상적 인 개념 인 단순한 디자인 패턴으로도 볼 수 있습니다.
답변
디자인 패턴 은 코드를 효과적으로 작성하는 방법을 알려줍니다 ( 코드 메트릭 고려 ).
몇 가지 이점 :
- 쉽게 유지 보수 가능
- 높은 재사용 성
- 추상화로 인해 읽기 가능
아키텍처 패턴 은 리소스를 효과적으로 활용하는 방법을 말합니다.
- 프로그래머 및 그래픽 디자이너와 같은 병렬 작업 실행은 병렬로 작업 할 수 있습니다.
- 여러 기술을 활용하여 소프트웨어를 구축 할 수 있습니다.
MVC에서
a). 자바 스크립트 템플릿을 사용하여 뷰를 만들 수 있으며 html도 사용할 수 있습니다
. b). 컨트롤러는 .NET 프레임 워크로 작성 될 수 있으며
c). 모델은 Java로 작성할 수 있습니다. json 데이터 만 반환하는 Java 서비스를 사용할 수 있습니다.디자인 패턴에서는 Java의 AdminUser 클래스, C #의 Customer 클래스, Php의 Partners 클래스 및 Ruby의 팩토리 패턴과 같은 여러 기술로 코드를 작성할 수 있는 패턴 을 구현할 수 없습니다 . 흠 .. 너무 쉬워요? 🙂
답변
얼마 전에 답변을 받았지만 아직 MVC를 유명하게 만든 책인 Buschmann 등이 1996 년에 출판 한 POSA (Pattern-Oriented Software Architecture) 책을 언급 한 사람은 없습니다. 디자인 패턴 책만큼 널리 읽히지는 않지만 , Gamma 등이 작성한 POSA는 패턴 커뮤니티에서 사용하는 기본 책 중 하나입니다.
아, 그리고 POSA는 MVC를 아키텍처 패턴으로 매우 명확하게 식별합니다. 내 직감은 MS와 Sun이 엉성하고 모든 패턴을 “디자인 패턴”이라고 부르는 것입니다.
답변
둘 다 사실이라고 생각합니다. Ruby on Rails와 같은 프레임 워크에서 MVC 의 특정 인스턴스화 를 보고있는 경우 해당 인스턴스화는 디자인 패턴에 가깝습니다. MVC를 일반적인 개념 으로 보면 아키텍처 패턴에 가깝습니다.
답변
MVC (모델 / 뷰 / 컨트롤러) 트라이어드 클래스 내부의 디자인 패턴에는 다음이 포함되며 이에 국한되지 않을 수 있습니다.
-
Observer , 변경된 객체 (모델)가 다른 객체 (뷰)의 세부 사항을 알 필요없이 하나 (모델)에 대한 변경 사항이 다른 수 (뷰)에 영향을 미칠 수 있도록 객체를 분리합니다.
-
Composite , 개별 객체 (뷰 구성 요소) 중 하나를 처리하는 것처럼 그룹 객체 (복합 뷰)를 처리 할 수 있습니다.
-
Strategy , 뷰가 Controller 하위 클래스의 인스턴스를 사용하여 특정 응답 전략을 구현하는 경우 다른 전략을 구현하려면 인스턴스를 다른 종류의 컨트롤러로 교체하면됩니다.
-
뷰에 대한 기본 컨트롤러 클래스를 지정하는 Factory Method .
-
데코레이터 ,보기에 스크롤링 추가.
참고
- 4-6 페이지 (섹션 1.2 Smalltalk MVC의 디자인 패턴)
- 293 ~ 304 페이지 (관찰자 디자인 패턴)
- 163 ~ 174 페이지 (복합 디자인 패턴)
- 315 ~ 324 페이지 (전략 디자인 패턴)
- 107 ~ 116 페이지 (Factory Method 디자인 패턴)
- 175 ~ 185 페이지 (데코레이터 디자인 패턴)
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)
-
엔터프라이즈 아키텍처에 대한 실용 가이드 (연습 관)