2009-03-10 11 views
9

Gmail을 만들 때 어떤 디자인 패턴 (있는 경우)을 사용했는지 알 수 있습니까? 그 뒤에있는 개념을 이해합니다. 요청을 대기열에 추가하고, 각각 완료 될 때 막대를 증가시키고, 모두가 종료되면 표시를 초기화합니다. 그러나 기능을 모방하는 데 사용할 수있는 특정 디자인 패턴이 있는지 여부에 특히 관심이 있습니다.Gmail의 자바 스크립트에 사용되는 디자인 패턴은 무엇입니까?

답변

1

비슷한 문제가있어서 다음과 같이 해결했습니다. 데이터 미리로드는 비동기 요청을 서버에 보내어 작동합니다. 진행률 표시 줄이 보이면 모든 요청에 ​​대해 카운터를 증가시킵니다. 진행률 막대 == 카운터의 크기입니다. 요청이 빨리 전송되기 때문에 사용자는 진행률 표시 줄의 최대 값이 변경되는 것을 결코 알지 못합니다.

요청에 대한 답변이 들어 오면 매번 한 번 진행률 표시 줄을 진행합니다. 그게 다야. 마지막 요청이 도착하면 사전로드가 완료됩니다.

응답이 작아서 연속해서 빠르게 도착할 때 더 좋아 보이지만 모든 경우에 사용할 수 있습니다.

+0

감사합니다. 여러 아약스 호출을 통해 데이터를 집계하는 개념을 이해합니다. 내가 더 관심을 가질 수있는 것은 내가 더 자세히 볼 수있는 패턴의 "이름"이있는 것입니다. –

+0

AJAX를 사용하는 경우 기다림을 의식하지 않아도됩니다. –

+0

@ 필립 : 별명이 확실하지 않습니다. "성능 최적화"라고 부릅니다. –

0

내가 성공적으로 사용한 한 가지 트릭은 preload Ajax data as JSON입니다. 초기 페이지로드의 일부로 유용한 시드 데이터를 인라인 JavaScript로 보냅니다.

관련 문제