Addy Osmani 의 JavaScript 디자인 패턴 학습

MVC,MVP 및 백본.js

있는 경우,건축 JavaScript 프레임워크는 주장을 구현하 MVC 또는 MVP 패턴에서 자신의 고전적인 형태로 많은 자바스크립트 개발자를 전망하지 않 MVC 및 MVP 으로 상호 배타적(우리는 실제로 더 많은 가능성이 보 MVP 엄격하게 구현할 때 웹 프레임워크 등 ASP.NET 또 GWT). 이것은 우리의 응용 프로그램에서 추가 발표자/보기 논리를 가질 수 있고 여전히 MVC 의 풍미라고 생각하기 때문입니다.

중추 참가자의 보스턴 기반 Bocoup Irene Ros 구독하는 이 생각의 방법으로,때 그녀 구분 전망을 한눈에 내려다 볼 수 있는 자신의 별개의 구성 요소,그녀가 필요로 무언가 실제로 조립하는 그녀. 이 될 수 있는 컨트롤러 경로(같은Backbone.Router덮여 나중에 책에서),또는 콜백에 대응하여 데이터를 가져올 수 있습니다.즉,일부 개발자는 그 백본을 느낍니다.js 는 MVC 보다 MVP 에 대한 설명에 더 잘 맞습니다. 자신의보기:

  • 발표자에서 MVP 에 대해 더 자세히 설명하고있습니다Backbone.View(레이어 사이에 넣는 템플릿과 데이터 바인딩)을 컨트롤러보다는 않습니다.

  • 모델은Backbone.Model에 적합합니다(MVC 의 모델과 크게 다르지 않습니다).

  • 뷰는 템플릿(예:핸들 바/콧수염 마크 업 템플릿)을 가장 잘 나타냅니다.

응답이 될 수 있는 것을 볼 수 있도 될 전망(당으로 MVC),기 때문에 중추는 충분히 유연하게 사용에 대한 여러 목적입니다. V MVC 및 P 에서 MVP 할 수 있습니다 모두에 의해 달성된Backbone.View기 때문에 그들은 달성할 수 있게 두 가지 목적:두 렌더링 원자 부품과 조립이 그 구성 요소를 렌더링됩니다.

우리는 또한 볼 수 있는 근간의 책임 컨트롤러와 공유하 모두Backbone.ViewBackbone.Router고 다음 예에서,우리는 실제로 볼 수 있는 추진하고 있다는 것을 알고 있는 확실히 사실이다.

우리의 중추PhotoViewthis.model.bind("change",...)render()방법을 달리하지만 몇 가지 다른 구현,사용자 상호 작용입니다 또한 취급 View(참조events).

var PhotoView = Backbone.View.extend({ //... is a list tag. tagName: "li", // Pass the contents of the photo template through a templating // function, cache it for a single photo template: _.template( $("#photo-template").html() ), // The DOM events specific to an item. events: { "click img" : "toggleViewed" }, // The PhotoView listens for changes to  // its model, re-rendering. Since tHere's // a one-to-one correspondence between a  // **Photo** and a **PhotoView** in this // app, we set a direct reference on the model for convenience. initialize: function() { this.model.on( "change", this.render, this ); this.model.on( "destroy", this.remove, this ); }, // Re-render the photo entry render: function() { $( this.el ).html( this.template(this.model.toJSON() )); return this; }, // Toggle the `"viewed"` state of the model. toggleViewed: function() { this.model.viewed(); }});

른(매우 다)의 의견은 중추를 더 비슷한 Smalltalk-80MVC,우리는 우리를 통해 갔다.

정기적으로 중추 블로거 데릭 베일리는 이전에 넣어,그것은 궁극적으로 최고의하지 않는 힘에 근간을 어떤 특정한 디자인 패턴이 있습니다. 디자인 패턴을 고려되어야한 가동 가능한 가이드를 어떻게 응용될 수 있는 구조적,그리고 이런 점에서 중추를 맞지도 않 MVC 도 MVP. 대신 여러 아키텍처 패턴에서 최고의 개념 중 일부를 빌려서 잘 작동하는 유연한 프레임 워크를 만듭니다.

그러나 이러한 개념이 어디서 왜 유래되었는지 이해할 가치가 있으므로 MVC 와 MVP 에 대한 설명이 도움이 되었기를 바랍니다. 백본 방법,MV*또는 응용 프로그램 아키텍처의 맛을 참조하는 데 도움이되는 것이 무엇이든 호출하십시오. 가장 구조 JavaScript 프레임워크를 채택 할 것이 자신의 고전적인 패턴을,의도적으로 또는 사고에 의해,그러나 중요한 것은 그들이 우리를 도와 응용 프로그램을 개발 구성되고,깨끗하고 쉽게 할 수 있습 유지됩니다.

Related Posts

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다