Smalltalk programmers, project managers, teachers and students -- both new and experienced.
This book presents a set of patterns that organize all the informal experience successful Smalltalk programmers have learned the hard way. Understand these patterns, and you can write much more effective code.
- Understand the concept of Smalltalk patterns and why they work.
- Learn patterns for working with methods, messages, state, collections, classes and formatting.
- Walk through a development example utilizing patterns.
Table of Contents
Coding. Talking Programs. Good Software. Style. What's Missing? Book Organization. Adoption. Learning a Pattern. 2. Patterns.
Why Patterns Work. Role of Patterns. Reading. Development. Review. Documentation. Clean Up. Format. 3. Behavior.
Methods. Composed Method. Constructor Method. Constructor Parameter Method. Shortcut Constructor Method. Conversion. Converter Method. Converter Constructor Method. Query Method. Comparing Method. Reversing Method. Method Object. Execute Around Method. Debug Printing Method. Method Comment. Messages. Message. Choosing Message. Decomposing Message. Intention Revealing Message. Intention Revealing Selector. Dispatched Interpretation. Double Dispatch. Mediating Protocol. Super. Extending Super. Modifying Super. Delegation. Simple Delegation. Self Delegation. Pluggable Behavior. Pluggable Selector. Pluggable Block. Collecting Parameter. 4. State.
Instance Variables. Common State. Variable State. Explicit Initialization. Lazy Initialization. Default Value Method. Constant Method. Direct Variable Access. Indirect Variable Access. Getting Method. Setting Method. Collection Accessor Method. Enumeration Method. Boolean Property Setting Method. Role Suggesting Instance Variable Name. Temporary Variables. Temporary Variable. Collecting Temporary Variable. Caching Temporary Variable. Explaining Temporary Variable. Reusing Temporary Variable. Role Suggesting Temporary Variable Name. 5. Collections.
Classes. Collection. OrderedCollection. RunArray. Set. Equality Method. Hashing Method. Dictionary. SortedCollection. Array. ByteArray. Interval. Collection Protocol. IsEmpty. Includes:. Concatentation. Enumeration. Do. Collect. Select/Reject. Detect. Inject:into:. Collection Idioms. Duplicate Removing Set. Temporarily Sorted Collection. Stack. Queue. Searching Literal. Lookup Cache. Parsing Stream. Concatenating Stream. 6. Classes.
Simple Superclass Name. Qualified Subclass Name. 7. Formatting.
Inline Message Pattern. Type Suggesting Parameter Name. Indented Control Flow. Rectangular Block. Guard Clause. Conditional Expression. Simple Enumeration Parameter. Cascade. Yourself. Interesting Return Value. 8. Development Example.
Problem. Start. Arithmetic. Integration. Summary. Appendix A: Quick Reference. Index.
Kent Beck is the founder and director of Three Rivers Institute (TRI). His career has combined the practice of software development with reflection, innovation, and communication. His contributions to software development include patterns for software, the rediscovery of test-first programming, the xUnit family of developer testing tools, and Extreme Programming. He currently divides his time between writing, programming, and coaching. Beck is the author/co-author of Implementation Patterns, Extreme Programming Explained: Embrace Change 2nd Edition, Contributing to Eclipse, Test-Driven Development: By Example, Planning Extreme Programming, Smalltalk Best Practice Patterns, and the JUnit Pocket Guide. He received his B.S. and M.S. in Computer Science from the University of Oregon.