머리말
포럼에서 관찰한 바에 따르면 xtype을 사용할 때 더 많은 의구심이 있습니다. 어떤 사람들은 xtype을 전혀 무시하거나 그것이 무엇인지 모릅니다. 그래서 나는 xtype의 개념에 대해 자세히 설명하기로 결정했습니다.
정의
xtype은 클래스(Class)를 나타내는 식별명이다.
예를 들어 Ext.ux.MyGrid라는 클래스가 있습니다. 일반적으로 클래스를 인스턴스화하려면(클래스의 객체 생성) 이 이름을 사용해야 합니다.
클래스 이름 외에도 다음과 같이 클래스의 xtype을 등록할 수 있습니다.
Ext.reg('mygrid', Ext.ux.MyGrid)
where xtype은 mygrid이고 클래스 이름의 일반적인 형식은 Ext.ux.MyGrid입니다. 위의 명령문은 새로운 xtype을 등록합니다. 즉, xtype mygrid는 Ext.ux.MyGrid 클래스에 연결됩니다.
어떤 혜택이 있나요?
사용자 작업에 응답하기 위해 프로그램에 많은 수의 개체(창, 양식, 그리드)가 포함되어 있는 대규모 프로젝트가 있다고 상상해 보십시오. 사용자가 아이콘이나 버튼을 클릭하면 양식 내부에 그리드가 있는 새 양식이 생성되고 최종적으로 화면에 렌더링됩니다.
그럼 Ext2.x 이전의 코딩으로 돌아가 보겠습니다. 당시에는 페이지가 처음 로드된 후(프로그램 코드가 처음 실행된 후) 모든 개체를 인스턴스화했습니다. 클라이언트 메모리에는 Ext.ux.MyGrid 클래스의 객체가 이미 존재하며 사용자의 클릭을 기다리고 있습니다. 동일한 그리드에 대해 수백 개의 인스턴스가 있다고 가정하면... 귀중한 리소스를 낭비하는 셈입니다! 실제로 많은 그리드의 경우 사용자가 그리드를 클릭하여 표시하지 않을 수도 있습니다.
지연된 인스턴스화
xtype을 사용하는 경우 메모리에 있는 것은 다음과 같은 구성 항목 개체일 뿐입니다.