GnuSmalltalkUsersGuide:BaseChapter 203

From 흡혈양파의 번역工房
Revision as of 08:06, 28 January 2014 by Onionmixer (talk | contribs) (GSUG VersionableObjectProxy 페이지 추가)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
VersionableObjectProxy

VersionableObjectProxy

네임스페이스 Smalltalk에 정의됨

슈퍼클래스: NullProxy

범주: 스트림-파일


나는 프로그램이 처리하게 될 객체의 표현에 대한 여러 버전을 허용하기 위해 추가 정보를 보관하는 프록시이다. VersionableObjectProxies는 이전 버전과 호환이 되므로, 객체가 애초에 덤프되었을 당시 해당 클래스에 대해 VersionableObjectProxy를 사용하지 않았다 하더라도 버저닝을 지원할 수 있다. VersionableObjectProxy는 여러 버전에 걸쳐 모양을 변형시킨 클래스는 지원하지 않는다. 상세한 정보는 메서드 주석을 참조하라.


VersionableObjectProxy 클래스: 저장하기와 복구하기

to

loadFrom: anObjectDumper

객체를 검색하라. 버전 번호가 만일 클래스가 응답한 -#binaryRepresentationVersion에 일치하지 않을 경우 클래스의 #convertFromVersion:withFixedVariables:instanceVariables:for: 메서드를 호출하라. 보관된 버전 번호는 해당 메서드로 전달되는 첫 번째 매개변수가 될 것이며 (보관된 객체가 VersionableObjectProxy를 사용하지 않은 경우엔 nil이 될 것), 나머지 매개변수들은 각각 고정 인스턴스 변수, 색인 인스턴스 변수(클래스가 고정되지 않은 경우 nil이 될 것), ObjectDumper 자체로 이루어질 것이다. VersionableObjectProxy가 사용되지 않은 경우 클래스로 #nonVersionedInstSize가 전송되어 non-versioned(버저닝되지 않은) 객체를 위해 보관된 고정 인스턴스 변수의 개수를 검색할 것이다.


VersionableObjectProxy: 저장하기와 복구하기

dumpTo: anObjectDumper

추가 버전 정보를 이용해 객체를 저장하라.


Notes