2012-04-26 2 views
2

저는 현재 ASP.NET MVC 3, PHP + Cake 및 Java Spring에서 C# 웹 응용 프로그램을 코딩하는 데 꽤 정숙합니다. 이 세 가지를 사용하여 계층화 된 데이터, 도메인, 서비스 및 프리젠 테이션 응용 프로그램을 만드는 것이 편합니다. 나는 그들을 잘 조직 할 수있다.대형 Ajax 응용 프로그램 디자인 패턴

하지만 반응이 빠른 AJAX가 필요합니다. 컨트롤러에 모든 작은 모델 포스트 백을 연결하기 위해 jQuery를 사용하는 것이 불편합니다.

MVC (Controller + View + View Model + JavaScript) 디자인 패턴이 있습니까? 나는 최근 Knockout JS와 Backbone.js에 대해 읽었지만 실제로는 "아키텍처"라는 큰 단어와 그들이 가지고있는 이점을 건강한 디자인 패턴으로 보지 않는 것처럼 보입니다.

Google 문서/캘린더/메일과 같은 고급 JavaScript 애플리케이션이나 Compilr과 같은 유용한 튜토리얼이나 예제가 있습니까?

답변

2

자바 스크립트에는 상당수의 MVC 구현이 있습니다.

솔직히 더 많은 아약스 개발이 완료 될수록 서버 측 템플릿, 모델, 뷰, 컨트롤러 등을 필요로 할뿐만 아니라 자바 스크립트 측면에서 이와 같은 것이 필요합니다. 특히 돔 조작이 많이 걱정됩니다. 그러나 http://codebrief.com/2012/01/the-top-10-javascript-mvc-frameworks-reviewed/

이 많이있는 두 클라이언트 측 및 서버 측 (들)이 자바 스크립트를 사용합니다 (Node.js를 모델으로 진행 한 점에 유의하시기 바랍니다 :

다음 인기있는 프레임 워크의 목록입니다 구문.

C# 또는 asp.net 등으로 개발할 때 아키텍처의 일부분을 서비스 계층으로 계획하는 것이 더 좋습니다. 그런 다음 많은 템플릿 기능을 정적 파일과 자바 스크립트로 푸시하는 것이 좋습니다. 당신이 스케일 업 할 때 당신이되고 싶은 곳은 분명합니다.

다음으로, 다시 한 번 자신을 결정해야하는 방식으로 많은 이데올로기 적 질문에 빠지게 될 것입니다.

+1

이것은 내 무지를 나타낼 수 있습니다. 그러나 '정적 파일과 자바 스크립트에 템플릿 역할을 푸시'라고 말하면 주식 MVC/면도기 설정과의 차이점은 무엇입니까? – theringostarrs

+0

MVC는 단순히 디자인 패턴이며 어디에서나 구현할 수 있습니다. 따라서 서버 측에서 동적 데이터와 밀접하게 연결된 뷰를 작성할 수 있으므로 실제로 캐시 할 수 없습니다. 프로젝트가 충분히 javascripty가되면, 결국 많은 DOM 조작을하게되고 결국 코드 전체에 "

  • "+ someVar + "
  • "과 같은 문자열이 생깁니다. 이 때 정적 클라이언트 측 mvc가있는 값을 볼 수 있습니다. – Kristian

    +0

    감사합니다. 나는 조사해야 할 것이다 - 나는 항상 스톡 웹 서버/클라이언트 템플릿/js 접근법을 해왔다. – theringostarrs

    2

    심각한 JS 개발을하는 경우 고려해야 할 MVC 이외에도 많은 우려 사항이 있습니다.

  • 이벤트 기반 메시징 분리 된 통신을위한 모듈 계층을 JS 파일
  • 의존성 관리를 생성 용액
  • 구조화

    • 라우팅 책 마킹 임베드 성분
    • 유닛 테스트
    • 현지화
    • 문서 생성기 ATION
    • JS 최적화 및 난독

    복잡한 JS 프로젝트의 몇 후, 나는 복잡한 응용 프로그램을 그렇게 만든 BoilerplateJS을 구축 나의 경험을 공유하고 싶었다. BoilerplateJS는 대규모 개발을위한 참조 아키텍처로서 위와 같은 우려 사항이 해결되었습니다.

    http://boilerplatejs.org/

    BoilerplateJS는 제품 모듈 및 UI 구성 요소에 복잡한 제품군을 구성 할 수 있습니다. 참조 아키텍처 코드 기반에 따라 구현 된 샘플이 몇 가지 있습니다.