문제

나는 여기에있는 몇 가지 질문과 MVC에 관한 다양한 기사를 읽었으며 페인트 앱과 같은 GUI 이벤트 집약적 응용 프로그램에 어떻게 적용 할 수 있는지 볼 수 있습니다.

누구든지 MVC가 나쁜 일이 될 수 있고 그 사용을 잘못 조언하는 상황을 인용 할 수 있습니까?

편집 : GUI 응용 프로그램에 대해 구체적으로 이야기하고 있습니다!

도움이 되었습니까?

해결책

네트워크 커널 드라이버에서 MVC를 시도했습니다. 패치가 거부되었습니다.

다른 팁

나는 당신이 그것을 거꾸로보고 있다고 생각합니다. 요점은 MVC와 같은 패턴을 적용 할 수있는 위치를 보지 않는 것입니다. 요점은 패턴을 배우고 해결하려는 문제가 패턴을 적용하여 자연스럽게 해결할 수있는시기를 인식하는 것입니다. 따라서 문제 공간이 자연스럽게 모델,보기 및 컨트롤러로 나눌 수 있다면 MVC의 좋은 후보입니다. 디자인의 어떤 부분이 세 가지 범주에 속하는지 쉽게 알 수 없다면 적절한 패턴이 아닐 수도 있습니다.

MVC는 웹 응용 프로그램에 적합합니다. 웹 애플리케이션에서 일부 데이터 (SA : 질문 작성, 댓글 추가, 사용자 정보 변경), 상태 (사용자 로그인)가 있고 다른 페이지가 많지 않지만 적합한 컨텐츠가 많이 있습니다. 그 페이지. 하나의 질문 페이지 vs. 백만 질문.

예를 들어 CMS를 만드는 경우 MVC는 쓸모가 없습니다. 당신은 모델, 컨트롤러, 장식과 메뉴가있는 텍스트 페이지 만 없습니다. 문제는 더 이상 데이터를 처리하지 않는 것입니다. 이제 문제는 해당 텍스트 콘텐츠를 올바르게 제공하는 것입니다.

Tho, cms 관리자 MVC 위에 쌓일 것입니다. 그것은 단지 사용자 부분 일뿐입니다.

웹 서비스의 경우 뚜렷한 패러다임 인 REST를 사용하는 것이 좋습니다.

WebDAV 응용 프로그램은 MVC에서도 큰 이점을 얻지 못할 것입니다.

웹 프로그래밍을위한 루비에 대한 경고 레일은 웹 응용 프로그램을 구축하는 데 더 적합하다는 것입니다. 많은 프로젝트가 레일이있는 WebDav 서버 또는 컨텐츠 관리 시스템 CM을 만들고 비참하게 실패하려고 시도했습니다. 레일에서 CMS를 수행 할 수는 있지만 Drupal 및 Django와 같은 작업에 대한보다 효율적인 기술이 있습니다. 사실, Java Portal 개발 노력을보고 있다면 대신 작업을 위해 Drupal과 Django를 평가해야합니다.

타사 구성 요소로 떨어 뜨리고 싶은 곳은 MVC 패턴으로 작동하기가 어렵습니다. 이것의 좋은 예는 CMS입니다.

당신이 얻는 각 구성 요소에는 "고유 한"컨트롤러 객체가 있으며 Model-> UI 통과의 "제어"를 공유 할 수 없습니다.

나는 MVC가 실제로 나쁜 GUI 앱에 대한 아이디어. 그러나 틀림없이 더 나은 대안이 있습니다 (그리고 당신이 요구하는 의견에 따라 더 나빠질 수도 있습니다). 가장 일반적인 것은 MVP입니다. 설명은 여기를 참조하십시오. MVC와 MVP에 대해 알고 싶었지만 묻는 것을 두려워했습니다..

프레임 워크를 사용하거나 MVC를 염두에두고 설계되지 않은 소프트웨어와 상호 작용하는 경우 MVC를 사용하는 것이 나쁜 생각이라고 생각합니다.

다시 말해, 프로그래밍 언어를 비교하는 것과 매우 유사합니다. 일반적으로 하나가 다른 것보다 낫다고 말할 수있는 작업은 많지 않습니다. 일반적으로 프로그래머 선호도, 라이브러리 가용성 및 팀의 경험으로 요약됩니다.

성능이 중요한 응용 분야에서 MVC를 사용해서는 안됩니다. 이것이 여전히 컴퓨팅 성능의 증가로 적용되는지는 모르겠지만 한 가지 예는 콜센터 응용 프로그램입니다. 통화 당 .5 초를 절약 할 수있는 경우 정보를 입력하고 업데이트하면 해당 저축이 시간이 지남에 따라 추가됩니다. 앱에서 마지막 성능을 얻으려면 웹 앱 대신 데스크탑 앱을 사용하고 데이터베이스와 직접 대화하도록해야합니다.

언제 나쁜가요? 프로젝트에 더 잘 맞는 또 다른 코드 구조가있는 곳.

MVC가 "적합"하지 않는 수많은 프로젝트가 있지만, 그 목록이 어떤 이점이 될지 모르겠습니다.

MVC가 적합하면 사용하지 않으면 다른 것을 사용합니다 ..

MVC와 ORM은 농담입니다 .... 앱이 데이터베이스 앱이 아니거나 앱 데이터베이스를 불신 상태로 유지하려는 경우에만 적절합니다. 저장된 절차를 지원하는 RDBMS를 사용하는 경우 이것이 유일한 방법입니다. 저장된 Procs는 숙련 된 응용 프로그램 개발자에게 선호되는 접근법입니다. MVC와 ORM은 해당 기술과 관련된 제품이나 서비스를 판매하려는 회사 (예 : VS를 판매하려는 Microsoft)에서만 홍보됩니다. Java와 C#을 배우는 시간 낭비를 중지하고 실제로 중요한 것, JavaScript 및 SQL에 중점을 둡니다.

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