Book contents
- Frontmatter
- Contents
- FOREWORD
- PREFACE
- INTRODUCTION
- 1 A DIAGRAM FOR OBJECT-ORIENTED PROGRAMS
- 2 CONSTRUCTING ABSTRACTIONS FOR OBJECT-ORIENTED APPLICATIONS
- 3 PLAYRGOUND: AN OBJECT ORIENTED SIMULATION SYSTEM WITH AGENT RULES FOR CHILDREN OF ALL AGES
- 4 A LABORATORY FOR TEACHING OBJECT-ORIENTED THINKING
- 5 THINK LIKE AN OBJECT
- 6 WHY STUDY SMALLTALK IDIOMS?
- 7 THE DREADED SUPER
- 8 ABSTRACT CONTROL IDIOMS
- 9 VALUEMODEL IDIOMS
- 10 COLLECTION IDIOMS
- 11 AN OBJECTWORKS\SMALLTALK 4.1 WRAPPER IDIOM
- 12 A SHORT INTRODUCTION TO PATTERN LANGUAGE
- 13 WHOLE LOTTA SMALLTALK: THE TECHNOLOGY
- 14 INSTANCE-SPECIFIC BEHAVIOR: HOW AND WHY
- 15 INSTANCE-SPECIFIC BEHAVIOR: DIGITALK IMPLEMENTATION AND THE DEEPER MEANING OF IT ALL
- 16 TO ACCESSOR OR NOT TO ACCESSOR
- 17 INHERITANCE: THE REST OF THE STORY
- 18 INHERITANCE: THE REST OF THE STORY (CONT.)
- 19 HELPER METHODS AVOID UNWANTED INHERITANCE
- 20 IT'S NOT JUST THE CASE
- 21 CRC: FINDING OBJECTS THE EASY WAY
- 22 DEATH TO CASE STATEMENTS
- 23 WHERE DO OBJECTS COME FROM?
- 24 PATTERNS AND SOFTWARE DEVELOPMENT
- 25 DISTRIBUTED SMALLTALK
- 26 WHERE DO OBJECTS COME FROM? FROM VARIABLES AND METHODS
- 27 BIRDS, BEES, AND BROWSERS—OBVIOUS SOURCES OF OBJECTS
- 28 USING PATTERNS: DESIGN
- 29 PATTERNS GENERATE ARCHITECTURES
- 30 SIMPLE SMALLTALK TESTING
- 31 ARCHITECTURAL PROTOTYPE: TELEVISION REMOTE CONTROL
- 32 DEMAND LOADING FOR VISUALWORKS
- 33 GARBAGE COLLECTION REVEALED
- 34 WHAT? WHAT HAPPENED TO GARBAGE COLLECTION?
- 35 SUPER + 1
- 36 CLEAN CODE: PIPE DREAM OR STATE OF MIND?
- 37 A MODEST META PROPOSAL
- 38 USES OF VARIABLES: TEMPS
- 39 VARIABLES OF THE WORLD
- 40 PATTERNS 101
- 41 FAREWELL AND A WOOD PILE
- AFTERWORD
- INDEX
11 - AN OBJECTWORKS\SMALLTALK 4.1 WRAPPER IDIOM
Smalltalk Report, January, 1993
Published online by Cambridge University Press: 04 August 2010
- Frontmatter
- Contents
- FOREWORD
- PREFACE
- INTRODUCTION
- 1 A DIAGRAM FOR OBJECT-ORIENTED PROGRAMS
- 2 CONSTRUCTING ABSTRACTIONS FOR OBJECT-ORIENTED APPLICATIONS
- 3 PLAYRGOUND: AN OBJECT ORIENTED SIMULATION SYSTEM WITH AGENT RULES FOR CHILDREN OF ALL AGES
- 4 A LABORATORY FOR TEACHING OBJECT-ORIENTED THINKING
- 5 THINK LIKE AN OBJECT
- 6 WHY STUDY SMALLTALK IDIOMS?
- 7 THE DREADED SUPER
- 8 ABSTRACT CONTROL IDIOMS
- 9 VALUEMODEL IDIOMS
- 10 COLLECTION IDIOMS
- 11 AN OBJECTWORKS\SMALLTALK 4.1 WRAPPER IDIOM
- 12 A SHORT INTRODUCTION TO PATTERN LANGUAGE
- 13 WHOLE LOTTA SMALLTALK: THE TECHNOLOGY
- 14 INSTANCE-SPECIFIC BEHAVIOR: HOW AND WHY
- 15 INSTANCE-SPECIFIC BEHAVIOR: DIGITALK IMPLEMENTATION AND THE DEEPER MEANING OF IT ALL
- 16 TO ACCESSOR OR NOT TO ACCESSOR
- 17 INHERITANCE: THE REST OF THE STORY
- 18 INHERITANCE: THE REST OF THE STORY (CONT.)
- 19 HELPER METHODS AVOID UNWANTED INHERITANCE
- 20 IT'S NOT JUST THE CASE
- 21 CRC: FINDING OBJECTS THE EASY WAY
- 22 DEATH TO CASE STATEMENTS
- 23 WHERE DO OBJECTS COME FROM?
- 24 PATTERNS AND SOFTWARE DEVELOPMENT
- 25 DISTRIBUTED SMALLTALK
- 26 WHERE DO OBJECTS COME FROM? FROM VARIABLES AND METHODS
- 27 BIRDS, BEES, AND BROWSERS—OBVIOUS SOURCES OF OBJECTS
- 28 USING PATTERNS: DESIGN
- 29 PATTERNS GENERATE ARCHITECTURES
- 30 SIMPLE SMALLTALK TESTING
- 31 ARCHITECTURAL PROTOTYPE: TELEVISION REMOTE CONTROL
- 32 DEMAND LOADING FOR VISUALWORKS
- 33 GARBAGE COLLECTION REVEALED
- 34 WHAT? WHAT HAPPENED TO GARBAGE COLLECTION?
- 35 SUPER + 1
- 36 CLEAN CODE: PIPE DREAM OR STATE OF MIND?
- 37 A MODEST META PROPOSAL
- 38 USES OF VARIABLES: TEMPS
- 39 VARIABLES OF THE WORLD
- 40 PATTERNS 101
- 41 FAREWELL AND A WOOD PILE
- AFTERWORD
- INDEX
Summary
Here is a great example of a column I wish I'd never written. It presents a new control structure to deal with the complexity of the Composite/Wrapper pattern used in the user interface code in Visual Works. I wrote the column, sent it off, then had a quick talk with David Liebs about the subject. “So you need to talk to a particular wrapper, eh? Why don't you keep a pointer to the wrapper you need to talk to and give it a useful name? Then you can just send it messages.” Duh…
The other aspect of the column I regret is that it seems to condone adding new control structures to Smalltalk. The meta facilities of Smalltalk are extremely powerful, but 99.99 percent of the time, you shouldn't use them. Oh, they'd get the job done alright, but at what cost?
When you write something like #wrapperSend:, you have to take off your application-programmer hat and put on your language-designer hat. The responsibilities of the language designer are ten times as great as those of an application developer. Whatever you do, you have to implement it and test it, sure, but you also have to document it like a new language feature, extend the programming environment to handle it smoothly, and worst of all, maintain it through all future releases of the image.
- Type
- Chapter
- Information
- Kent Beck's Guide to Better SmalltalkA Sorted Collection, pp. 129 - 136Publisher: Cambridge University PressPrint publication year: 1997