2014-01-27 3 views
0

일반적으로 모델은 일부 데이터베이스 쿼리 작업 또는 내부의 미리 초기화 된 데이터 필드의 메모리 내 표현으로 정의되는 백엔드 개발 작업을합니다. 컨트롤러 또는 서비스 메소드에 의해 처리되고 사용자의보기로 전달됩니다.프론트 엔드 JS 컨텍스트에서 모델 정의

jQuery에도 익숙하지만 콜백 지옥 및 이벤트 바인딩 관리에 어려움을 겪고 있습니다. 이로 인해 주요 코드가 부풀어 오르고 다른 문제가 발생했습니다.

jQuery와 관련된 문제를 해결하기 위해 프로젝트에 Backbone을 사용하려고합니다. 그러나 프런트 엔드 웹 개발 컨텍스트에서 정확히 모델은 무엇입니까?

답변

0

프런트 엔드의 모델은 데이터에 바인딩되는 html 요소 그룹입니다. 예 : 앨범 컨테이너는 방문한 친구의 프로필을 기반으로 한 모델로 볼 수 있습니다. html 요소의 동작을 변경하기위한 명시 적 호출없이 요소 목록을 양방향으로 바인딩 할 수 있습니다 (모델에서 데이터 및 모델링 데이터로). 자바 스크립트 프레임 워크를 사용하면 이러한 명시 적 호출을 피할 수 있습니다. 예 : html 요소 (사진 및 동영상 섹션이있는 div)가 선택한 사용자 프로필에 따라 달라지는 경우 그런 다음 우리는 이러한 모든 사진과 비디오 섹션을 하나의 모델이 사용자 이름에 바인딩하고 그에 따라 컨테이너에로드 할 때 모델링 할 수 있습니다. ,

1

음, 모델은 무엇이든 될 수 있지만, 그들 모두는

그러나 (사용자가 탭/브라우저를 종료하거나 다시로드 끝) 여러분의 JS 응용 프로그램의 수명 시간 동안 메모리에 저장됩니다 다른 종류의 모델이 있습니다. 백엔드의 데이터 엔티티를 나타내는 하나, 프런트 엔드의 데이터 엔티티 만 나타내는 것

예를 들어, 백엔드에서 User 모델을 가지고 있다면 프런트 엔드에 User 모델을 생성하고 API를 통해 백엔드에 매핑합니다 (예 : REST). 그런 다음 프런트 엔드에서 User에 연결할 수있는 다른 항목이 있지만 현재 세션에 대한 사용자 설정과 같이 데이터베이스에 저장하면 안됩니다 (db에 저장할 수는 있지만 저장하는 것이 좋습니다). 로컬 저장소 또는 쿠키를 포함한 클라이언트 측 저장소의 다른 수단을 사용하는 클라이언트

요약하면 프론트 엔드의 Model 개념은 백엔드의 개념과 매우 유사하므로 프론트 엔드에 여전히 디자인 패턴과 다양한 기술을 적용 할 수 있습니다. 끝