Smalltalk Best Practice Patterns Volume 1: Coding - Free
Smalltalk Best Practice Patterns Volume 1: Coding - Free
Smalltalk Best Practice Patterns Volume 1: Coding - Free
- No tags were found...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Table of ContentsTABLE OF CONTENTS .......................................................................................................................................2PREFACE ......................................................................................................................................................5ACKNOWLEDGMENTS.............................................................................................................................7INTRODUCTION .........................................................................................................................................8CODING............................................................................................................................................................9Talking Programs........................................................................................................................................9GOOD SOFTWARE...........................................................................................................................................11STYLE.............................................................................................................................................................13WHAT’S MISSING? .........................................................................................................................................14ORGANIZATION ..............................................................................................................................................15ADOPTION ......................................................................................................................................................16PATTERNS..................................................................................................................................................17WHY PATTERNS WORK..................................................................................................................................18ROLE OF PATTERNS........................................................................................................................................20Reading......................................................................................................................................................20Development..............................................................................................................................................20Review .......................................................................................................................................................20Documentation ..........................................................................................................................................20Clean Up ...................................................................................................................................................20FORMAT .........................................................................................................................................................21BEHAVIOR .................................................................................................................................................22METHODS.......................................................................................................................................................23Composed Method ................................................................................................................................................. 24Complete Creation Method .................................................................................................................................... 26Creation Parameter Method ................................................................................................................................... 27Conversion ............................................................................................................................................................. 28Converter Method .................................................................................................................................................. 29Converter Creation Method.................................................................................................................................... 30Constructor Method ............................................................................................................................................... 31Query Method ........................................................................................................................................................ 32Comparing Method ................................................................................................................................................ 33Execute Around Method ........................................................................................................................................ 34Debug Printing Method.......................................................................................................................................... 35MESSAGES......................................................................................................................................................36Message.................................................................................................................................................................. 37Choosing Message ................................................................................................................................................. 38Decomposing Message........................................................................................................................................... 40Intention Revealing Message ................................................................................................................................. 41Intention Revealing Selector .................................................................................................................................. 42Double Dispatch..................................................................................................................................................... 43Send Back .............................................................................................................................................................. 45Super ...................................................................................................................................................................... 47Extending Super..................................................................................................................................................... 48Modifying Super .................................................................................................................................................... 49Delegation .............................................................................................................................................................. 50Simple Delegation.................................................................................................................................................. 51Self Delegation....................................................................................................................................................... 52Pluggable Behavior ................................................................................................................................................ 54Pluggable Selector.................................................................................................................................................. 55Pluggable Block ..................................................................................................................................................... 56Collecting Parameter.............................................................................................................................................. 57<strong>Coding</strong> <strong>Patterns</strong> page 2 of 147 9/30/2006