GnuSmalltalkUsersGuide:BaseChapter 203

From 흡혈양파의 번역工房
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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