문제

여기에는 기존 MVC와 Cocoa MVC의 차이점을 설명하는 다이어그램이 있습니다.

코코아 디자인 패턴:모델-뷰-컨트롤러 디자인 패턴

Visual Studio를 사용하여 .NET에서 "Cocoa" 방식으로 수행하면 어떤 이점이 있습니까?

도움이 되었습니까?

해결책

이유가 없어요 ~ 아니다 그것이 당신에게 더 의미가 있다면 그렇게 하는 것입니다.Cocoa 프레임워크의 많은 것들은 더 높은 수준의 디자인 결정으로 인한 방식입니다. 예를 들어 하위 클래스화보다 구성 및 위임을 선호합니다.

원한다면 Objective-C 소프트웨어처럼 보이는 C# 소프트웨어를 디자인할 수 있지만 Cocoa 경험이 없는 사람들은 느슨하게 결합된 디자인이 그들에게 "이상하게" 보일 것이기 때문에 설명을 들어야 할 것입니다.

아, 맞습니다. 해당 디자인의 장점에는 UI 뷰와 모델 클래스의 재사용성이 뛰어나고(서로에 대해 전혀 알지 못하기 때문에) 뷰 클래스의 코드가 약간 더 단순해지고 "애플리케이션 로직"이 더 많이 포함된다는 점입니다. "를 한 곳(컨트롤러 클래스)에 저장합니다.

다른 팁

.Net 개발자 저널의 한 개발자는 자신의 전환에 대해 글을 쓰고 .Net에서 Cocoa MVC 스타일을 사용하는 것을 포함하여 .Net을 Cocoa와 비교했습니다.

http://dotnetaddict.dotnetdevelopersjournal.com/tags/?/cocoa

"Cocoa 버전의 MVC"는 ASP.NET MVC에서 사용되는 패턴이 아닌가요?지금까지 모든 예제에서는 V와 M 사이의 직접적인 상호 작용 없이 컨트롤러를 통해 뷰와 모델 간의 통신을 가리켰습니다.내가 이것을 잘못 이해하고 있습니까?

Cocoa의 "중재 컨트롤러"(NSController의 하위 클래스)를 사용하는 주요 이점은 모델과 뷰 사이를 중재하는 데 필요한 표준 기능의 상당 부분을 구현한다는 것입니다.뷰 선택으로 표시된 모델 부분 추적 및 트랜잭션 지원(예를 들어 뷰 또는 모델에 대한 수정 사항 집합을 커밋하거나 삭제할 수 있음)과 같은 기능이 '무료'로 포함됩니다.NSController 하위 클래스를 모델과 뷰 사이의 '접착제' 코드로 사용하면 개발자는 컨트롤러 계층에 있는 애플리케이션별 논리인 "컨트롤러 조정" 기능에 집중할 수 있습니다.

그렇다면 .Net에서 이 패턴을 사용할 가치가 있을까요?일반 조정 컨트롤러가 올바르게 작동하도록 하는 것은 쉬운 일이 아닙니다(예를 들어 Apple이 제대로 작동하려면 몇 번의 릴리스가 필요했습니다).트리 컨트롤러와 같은 것들은 특히 까다롭습니다.하나 또는 몇 개의 프로젝트에서만 이 패턴을 사용하는 경우 노력할 가치가 없을 수도 있습니다.반면에 커뮤니티에서는 Cocoa의 NSController 계층 구조와 같은 일반적인 컨트롤러 프레임워크를 높이 평가할 것이라고 확신합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top