Ext JS - Learning Center

Manual:Intro:Patterns:Flyweight (Korean)

From Learn About the Ext JavaScript Library

Jump to: navigation, search
Summary: Patterns:Flyweight
Author: jsakalos (번역 : Rhio.Kim)
Published:
Ext Version: 1.1
Languages: en.png English kr.png Korean

Definition

효율적으로 많은 오브젝트들의 공유하는 것을 제공하기 위해 사용하라.

Used in Ext

  • Ext.fly

Discussion

N.B jsakalo의 포럼에 기재한 Flyweight pattern 글을 직접 옮겨왔다.

Ext.Element는 수 많은 기능 예를 들어 숨김, 표시, 모든 에니메이션 기능, 치수 획득 및 설정 기능과 그 이상의 것들로 DOM 엘리먼트/노드를 감싸 놓았다.

Ext.Element 는 DOM 엘리먼트에 레퍼런스를 유지하고 dom 프로퍼티에 감싸진다. 한번에 여러분은 Ext.Element를 가진다. (예를 들어 Ext.get(‘some-id’)를 호출) 그것은 Element클래스의 인스턴스이고 이것으로 위에 말한 것처럼 동작할 수 있다.

지금, 여러분이 1000개의 DOM 노드를 숨기기 위해 1000개의 Element 인스턴스를 생성하여 1000번 Ext.get(‘some-one-of-1000-id).hide()를 호출해서 1개의 hide 함수를 호출하는 것을 상상해보세요.

Ext.fly는 Ext.Element의 기능이 감싸진 “변경 되어질 수 있는” DOM 노드를 갖는 Ext.Element의 단일 인스턴스이다. 만약 여러분이 Ext.fly(‘some-one-of-1000-id’).hide()를 1000번 호출한다면 여러분은 Ext.Element의 하나의 인스턴스의 dom 프로퍼티를 1000번 대체한다.


결과: 더욱더 높은 성능과, 낮은 메모리 사용.

한가지 염두 해야 할 것은 dom은 조만간 다른것에 의해 대체될 것이라서 나중에 사용하기 위해 Ext.fly를 통해 반환되어진 Element를 유지할 수 없다는 것입니다.

 위키 피디아 참고자료 : Flyweight Pattern
  • This page was last modified 09:31, 12 July 2008.
  • This page has been accessed 177 times.