SmalltalkObjectsandDesign:Appendix

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.
부록 dialect별 차이

dialect별 차이

아래 표는 주요 스몰토크 dialects 간 차이를 몇 가지 소개한 것이다. 완전하거나 세부 사항까지 표현한 것은 아니므로 놀랄 만한 내용은 아니다. 하지만 IBM Smalltalk용으로 작성된 이 책과 다른 dialects 간에 발생하기 쉬운 차이를 알고자 하는 독자들을 위해 실었다. 또한 dialects가 기본적으로 다른 수칙을 기반으로 하여 이 책에서 논하지 않은 몇 가지 영역을 지적하겠다. ParcPlace-Digitalk 는 VisualSmalltalk 와 VisualWorks 제품을 하나의 제품으로 통합하는 작업을 진행 중인데, 이러한 통합제품은 표에서 마지막 두 열이 제시하는 차이를 조정할 것이다.


VisualAge (IBM Smalltalk) VisualSmalltalk(Smalltalk/V) VisualWorks(Smalltalk-80)
이미지명(기본 값) image v.exe
v.image (매킨토시)
visual.im
Command 1 Execute Do It do it
Command 2 Display Show It print it
Transcript의 클래스 EtTranscript TextWindow TextCollector
전역 변수(sparingly하게 사용) 명시적으로 선언되어 있다 첫 시도에서 하나를 사용하도록 유도한다 첫 시도에 하나를 사용하도록 유도한다
클래스 인스턴스 변수 Yes Yes-말 그대로 class의 클래스에 대한 인스턴스 변수 (기존 버전엔 없음) Yes-말 그대로 class의 클래스에 대한 인스턴스 변수 (기존 버전엔 없음)
aMsg 메시지 전송 aMsg sendTo: anObject aMsg perform anObject perform: aMsg selector withArguments: aMsg arguments
순수 가상 (추상, 지연된) 메서드 subclassResponsibility implementedBySubclass subclassResponsibility
텍스트 창 열기 EtWorkspace new show: 'Hello, world' TextWindow new openOn: 'Hello, world' ComposedTextView open: 'Hello, world' as ComposedText
컬렉션 계층구조가 서브타이핑되었다 아니오 아니오 아니오
Finalization과 약한 참조 예 (기존 버전엔 없음)
플랫폼의 창 관리자가 조절하는 모양과 느낌 아니오
리터럴 문자열이 수정 가능하다 아니오
리터럴 배열이 수정 가능하다 아니오
블록 임시 변수 [ㅣxㅣ ...] 아니오
Pool dictionary 클래스 EsPoolDictionary Dictionary Dictionary
Pool dictionary 키 String String Symbol
서브클래스가 pool dictionaries를 상속한다 아니오
SmallInteger 범위(32비트 플랫폼상) -230에서 230-1까지 -230에서 230-1까지 -229에서 229-1까지
Broadcaster AbtObservableObjecta EventManagerb Modelc
예외 인스턴스 계층구조 클래스 계층구조 인스턴스 계층구조


a 이에 더해, 동일하지만 덜 효율적이고 덜 캡슐화된 프로토콜을 어떤 Object에도 이용 가능하다. 세 번째 프로토콜은 Object에서 클래스 변수 Dependents를 이용하는 전형적인 프로토콜이다.


b 이에 더해, 동일하지만 덜 효율적이고 덜 캡슐화된 프로토콜을 어떤 Object에도 이용 가능하다. 오래된 버전들은 Object에서 클래스 변수 Dependents를 이용하는 전형적인 프로토콜을 지원한다.


c 이 클래스는 전형적인 (오리지널 MVC) 프로토콜을 지원한다. 이에 더해, 동일하지만 덜 효율적이고 클래스 변수 Dependents를 사용하는 프로토콜을 어떤 Object에도 이용 가능하다. ParcPlace-Digitalk는 VisualSmalltalk에서와 같이 EventManager 브로드캐스팅을 추가할 계획이다.