Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
Skip header Section
Smalltalk: best practice patternsNovember 1996
Publisher:
  • Prentice-Hall, Inc.
  • Division of Simon and Schuster One Lake Street Upper Saddle River, NJ
  • United States
ISBN:978-0-13-476904-2
Published:01 November 1996
Pages:
224
Skip Bibliometrics Section
Reflects downloads up to 06 Oct 2024Bibliometrics
Abstract

No abstract available.

Cited By

  1. van Schelven K Clef Design Proceedings of the 11th European Lisp Symposium on European Lisp Symposium, (94-102)
  2. ACM
    Lartigue J and Chapman R Comprehension and application of design patterns by novice software engineers Proceedings of the 2018 ACM Southeast Conference, (1-10)
  3. Milojković N, Ghafari M and Nierstrasz O Exploiting type hints in method argument names to improve lightweight type inference Proceedings of the 25th International Conference on Program Comprehension, (77-87)
  4. ACM
    Burroni J The Act of Computer Programming in Science Companion Proceedings of the 1st International Conference on the Art, Science, and Engineering of Programming, (1-8)
  5. ACM
    Chiş A, Gîrba T, Kubelka J, Nierstrasz O, Reichhart S and Syrel A Exemplifying Moldable Development Proceedings of the Programming Experience 2016 (PX/16) Workshop, (33-42)
  6. ACM
    Pollet D and Ducasse S A First Analysis of String APIs Proceedings of the International Workshop on Smalltalk Technologies, (1-8)
  7. ACM
    Black A What shall we tell the children (about inheritance)? Proceedings of the 5th Workshop on MechAnisms for SPEcialization, Generalization and inHerItance, (17-25)
  8. Guerra E, Alves F, Kulesza U and Fernandes C (2013). A reference architecture for organizing the internal structure of metadata-based frameworks, Journal of Systems and Software, 86:5, (1239-1256), Online publication date: 1-May-2013.
  9. Lozano A, Kellens A and Mens K Mendel Proceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering, (384-387)
  10. ACM
    Fairbanks G An architecturally-evident coding style Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion, (317-318)
  11. ACM
    Batarseh F Java nano patterns Proceedings of the 48th annual ACM Southeast Conference, (1-4)
  12. Brichau J, Kellens A, Castro S and DHondt T (2010). Enforcing structural regularities in software using IntensiVE, Science of Computer Programming, 75:4, (232-246), Online publication date: 1-Apr-2010.
  13. ACM
    Wrigstad T, Nardelli F, Lebresne S, Östlund J and Vitek J Integrating typed and untyped code in a scripting language Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (377-388)
  14. ACM
    Wrigstad T, Nardelli F, Lebresne S, Östlund J and Vitek J (2010). Integrating typed and untyped code in a scripting language, ACM SIGPLAN Notices, 45:1, (377-388), Online publication date: 2-Jan-2010.
  15. ACM
    Castro S, Brichau J and Mens K Diagnosis and semi-automatic correction of detected design inconsistencies in source code Proceedings of the International Workshop on Smalltalk Technologies, (8-17)
  16. Ortin F, Redondo J and Baltasar García Perez-Schofield J (2009). Efficient virtual machine support of runtime structural reflection, Science of Computer Programming, 74:10, (836-860), Online publication date: 1-Aug-2009.
  17. Vainsencher D and Black A A pattern language for extensible program representation Transactions on Pattern Languages of Programming I, (1-47)
  18. ACM
    Riehle D (2008). JUnit 3.8 documented using collaborations, ACM SIGSOFT Software Engineering Notes, 33:2, (1-28), Online publication date: 1-Mar-2008.
  19. ACM
    Daniel B, Dig D, Garcia K and Marinov D Automated testing of refactoring engines Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, (185-194)
  20. Vrandečić D and Gangemi A Unit tests for ontologies Proceedings of the 2006 international conference on On the Move to Meaningful Internet Systems: AWeSOMe, CAMS, COMINF, IS, KSinBIT, MIOS-CIAO, MONET - Volume Part II, (1012-1020)
  21. ACM
    Vainsencher D and Black A A pattern language for extensible program representation Proceedings of the 2006 conference on Pattern languages of programs, (1-25)
  22. ACM
    Bergin J Patterns for agile development practice part 3 (version 4) Proceedings of the 2006 conference on Pattern languages of programs, (1-14)
  23. ACM
    De Roover C, Brichau J and D'Hondt T Combining fuzzy logic and behavioral similarity for non-strict program validation Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming, (15-26)
  24. ACM
    Lienhard A, Ducasse S and Arévalo G Identifying traits with formal concept analysis Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, (66-75)
  25. ACM
    Gil J and Maman I Micro patterns in Java code Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (97-116)
  26. ACM
    Gil J and Maman I (2005). Micro patterns in Java code, ACM SIGPLAN Notices, 40:10, (97-116), Online publication date: 12-Oct-2005.
  27. Aveling B Desperately seeking metaphor Proceedings of the 6th international conference on Extreme Programming and Agile Processes in Software Engineering, (235-238)
  28. Liu Y, Clark J and Stepney S “Devices are people too” using process patterns to elicit security requirements in novel domains Proceedings of the Second international conference on Security in Pervasive Computing, (31-45)
  29. ACM
    Lewis T, Rosson M and Pérez-Quiñones M What do the experts say? Proceedings of the 35th SIGCSE technical symposium on Computer science education, (296-300)
  30. ACM
    Lewis T, Rosson M and Pérez-Quiñones M (2004). What do the experts say?, ACM SIGCSE Bulletin, 36:1, (296-300), Online publication date: 1-Mar-2004.
  31. Oliveira T, Alencar P, Filho I, de Lucena C and Cowan D (2004). Software Process Representation and Analysis for Framework Instantiation, IEEE Transactions on Software Engineering, 30:3, (145-159), Online publication date: 1-Mar-2004.
  32. Smith J and Stotts D SPQR Proceedings of the 18th IEEE International Conference on Automated Software Engineering, (215-224)
  33. Lanza M and Ducasse S (2003). Polymetric Views-A Lightweight Visual Approach to Reverse Engineering, IEEE Transactions on Software Engineering, 29:9, (782-795), Online publication date: 1-Sep-2003.
  34. Seruca I and Loucopoulos P (2003). Towards a systematic approach to the capture of patterns within a business domain, Journal of Systems and Software, 67:1, (1-18), Online publication date: 15-Jul-2003.
  35. Stepney S, Polack F and Toyn I An outline pattern language for Z Proceedings of the 3rd international conference on Formal specification and development in Z and B, (2-19)
  36. Schmidt D and Buschmann F Patterns, frameworks, and middleware Proceedings of the 25th International Conference on Software Engineering, (694-704)
  37. Altendorf E, Hohman M and Zabicki R (2002). Using J2EE on a Large, Web-Based Project, IEEE Software, 19:2, (81-89), Online publication date: 1-Mar-2002.
  38. Noble J and Biddle R (2002). Program visualisation for visual programs, Australian Computer Science Communications, 24:4, (29-38), Online publication date: 1-Jan-2002.
  39. Noble J and Biddle R Program visualisation for visual programs Proceedings of the Third Australasian conference on User interfaces - Volume 7, (29-38)
  40. Noble J and Biddle R Visualising 1,051 visual programs module choice and layout in the Nord Modular patch language Proceedings of the 2001 Asia-Pacific symposium on Information visualisation - Volume 9, (121-127)
  41. Wang N, Parameswaran K, Schmidt D and Othman O The design and performance of meta-programming mechanisms for object request broker middleware Proceedings of the 6th conference on USENIX Conference on Object-Oriented Technologies and Systems - Volume 6, (8-8)
  42. McBreen P Applying the Lessons of eXtreme Programming Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS 34'00)
  43. Ram D and Sreekanth M Reusable Integrated Components of Patterns Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS 34'00)
  44. Loucopoulos P and Kavakli E Enterprise Knowledge Management and Conceptual Modelling Selected Papers from the Symposium on Conceptual Modeling, Current Issues and Future Directions, (123-143)
  45. ACM
    Duke R In search of the inverse curriculum Proceedings of the 2nd Australasian conference on Computer science education, (65-70)
  46. ACM
    Holland S, Griffiths R and Woodman M (1997). Avoiding object misconceptions, ACM SIGCSE Bulletin, 29:1, (131-134), Online publication date: 1-Mar-1997.
  47. ACM
    Holland S, Griffiths R and Woodman M Avoiding object misconceptions Proceedings of the twenty-eighth SIGCSE technical symposium on Computer science education, (131-134)
Contributors
  • Facebook, Inc.

Reviews

El-Sayed Nasr-El-Dein El-Sayed

Productivity, life cycle cost, and time to market are among the major concerns of developers of complex software, particularly those working on object-oriented software. In fact, “much of the cost and effort stems from the continuous rediscovery of core concepts and components across the software industry” [1]. In this context, object-oriented application frameworks emerge as “a promising technology for reifying proven software design and implementation in order to reduce the cost and improve the quality” [1]. On a more fundamental level, this reflects a paradigm shift from principle-driven design to pattern-driven design. A framework is the skeleton of an application that can be customized by an application developer. Design patterns, on the other hand, are the micro-architectural elements of frameworks. A pattern describes a problem to be solved, a solution, and the context for that solution. In other words, a design pattern is a conceptual construct that captures what a set of recurring problems have in common. This book is mainly addressed to Smalltalk programmers who want to write programs as quickly, safely, and effectively as possible. It provides approximately 90 design patterns (in chapters 3 through 7), each of which records an atomic design decision made repeatedly by experienced Smalltalk developers. In chapter 2, the author presents a seven-element meta-pattern for documenting patterns. The elements are title, preceding patterns, problem, forces (constraints), solution, discussion, and the following patterns. The inclusion of the preceding and following patterns in this meta-pattern is a strength of this book, since it establishes a kind of network structure among the different patterns. Chapters 3 and 4 are devoted to the patterns used in describing the two aspects of any object model, namely, behavior and state. In chapter 3, the author presents 30 patterns that describe the behavior of a system of objects. The state of each individual object, as described by instant variables and temporary variables, is presented in chapter 4, by means of 20 patterns. As the collection hierarchy is one of the strengths of Smalltalk, the author presents 27 collection design patterns in chapter 5. These patterns cover collection classes, the major message patterns that can be sent to them, and some standard tricks that are frequently used by experienced Smalltalk programmers. In chapter 6, Beck explains how to choose meaningful and communicative class names, and presents two design patterns. Finally, believing in the importance of formatting for the review and transfer of code, the author devotes chapter 7 to formatting patterns. He encapsulates his experience into ten patterns that cover topics such as formatting message patterns, calling message parameters, the indentation of messages, and formatting blocks. One of the best features of this book is the illustration of how to use 25 of the previously defined patterns in developing a system for handling money in several currencies (presented in chapter 8). Appendix A provides a useful quick reference. Smalltalk programmers will find a collection of ready-to-use Smalltalk design patterns in this book.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Recommendations