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
16 - TO ACCESSOR OR NOT TO ACCESSOR
Smalltalk Report, June, 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
Why do I keep doing this? I keep bringing up the “should all variables be accessed through methods” debate whenever I see people taking a dogmatic position, that is, one that they don't explain. It wasn't until I rewrote the whole thing as patterns for the book that I realized the key issue here is communication.
I'm a little disappointed reading this now that I didn't try to write Direct Access and Indirect Access as patterns. That would have made the reasoning behind the options much more obvious. I guess I just wasn't ready to use patterns to address such fundamental questions. Now I don't even hesitate- I'm so pattern soaked now I can't help it.
Anyway, if this one bugs you, ignore it, all except the part about making accessors private by default.
A debate has been raging on both CompuServe and the Internet lately about the use and abuse of accessing methods for getting and setting the values of instance variables. Since this is the closest thing I've seen to a religious war in a while, I thought I'd weigh in, not with the definitive answer, but with at least a summary of the issues and arguments on both sides. As with most, uh, “discussions” generating lots of heat, the position anyone takes has more to do with attitude and experience than with objective truth.
- Type
- Chapter
- Information
- Kent Beck's Guide to Better SmalltalkA Sorted Collection, pp. 175 - 180Publisher: Cambridge University PressPrint publication year: 1997