13.07.2015 Views

Smalltalk Best Practice Patterns Volume 1: Coding - Free

Smalltalk Best Practice Patterns Volume 1: Coding - Free

Smalltalk Best Practice Patterns Volume 1: Coding - Free

SHOW MORE
SHOW LESS
  • 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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!