10.1145/325694.325731acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedings
Article

A debate on language and tool support for design patterns

ABSTRACT

Design patterns have earned a place in the developer's arsenal of tools and techniques for software development. They have proved so useful, in fact, that some have called for their promotion to programming language features. In turn this has rekindled the age-old debate over the mechanism that belong in programming languages versus those that are better served by tools. The debate comes full circle when one contemplates code generation and methodological tool support for patterns. The authors compare and contrast programming languages, tools, and patterns to assess their relative merits and to clarify their roles in the development process.

References

  1. 1.Alexandrescu, A. Creating Generic Components Using Standard C++. Addison-Wesley, Reading, MA. To appear.]]Google ScholarGoogle Scholar
  2. 2.Baumgartner, G., et al. On the Interaction of Object-Oriented Design Patterns and Programming Languages. Technical report CSD-TR-96-020, Dept. of Computer Sciences, Purdue University, February 1996.]]Google ScholarGoogle Scholar
  3. 3.Bosch, J. Design Patterns and Frameworks: On the Issue of Language Support. Workshop on Language Support for Design Patterns and Frameworks, European Conference on Object-Oriented Programming (ECOOP '97), June 1997.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.Bosch, j. Design Patterns as Language Constructs. To appear, Journal of Object-Oriented Programming. Available at http ://www.i de.hk-r, se/--b o sch/articl e s. html.]]Google ScholarGoogle Scholar
  5. 5.Budinsky, F., et al. Automatic Code Generation from Design Patterns. IBM Systems Journal, Vol. 35, No. 2 (1996), pp. 151-171.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.Chambers, C. Object-Oriented Multi-Methods in Cecil. European Conference on Object-Oriented Programming (ECOOP '92), June/July 1992.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.Chambers, C. Predicate Classes. European Conference on Object-Oriented Programming (ECOOP '93), July 1993.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8.Chambers, C. The Cecil Language: Specification and Rationale, Version 2.1. Technical report #93--03-05 (revised), Department of Computer Science and Engineering, University of Washington, March 1997. Available at http://www ~cs.washin~on.edu/research/projects/cecil/www/Papers/cecil -spec.htmt.]]Google ScholarGoogle Scholar
  9. 9.Coplien, J., et al., eds. Pattern Languages of Program Design. Addison-Wesley, Reading, MA, 1995.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10.Chiba, S. A Metaobject Protocol for C++. A CM Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA "95), October 1995. Available at http://www.hlla, i s. tsukuba, ac. ilg/'-chiba/op enc++.html.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11.Ducasse, S. Message Passing Abstractions as Elementary Bricks for Design Pattern Implementation. Workshop on Language Support for Design Patterns and Frameworks, European Conference on Object-Oriented Programming (ECOOP '97), June 1997.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12.Ernst, M.D., et al. Predicate Dispatching: A Unified Theory of Dispatch. European Conference on Object-Oriented Programming (ECOOP '98), July 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13.Gamma, E., et al. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA, 1995.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14.Gil, j., et al. Design Patterns vs. Language Design. Workshop on Language Support for Design Patterns and Frameworks, European Conference on Object-Oriented Programming (ECOOP '97), June 1997.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15.Harrison, N., et al., eds. Pattern Languages of Program Design 4. Addison-Wesley, Reading, MA, 2000.]]Google ScholarGoogle Scholar
  16. 16.Harrison, W., et al. Attaching Instance Variables to Method Realizations Instead of Classes. International Conference on Computer Languages, April 1992.]]Google ScholarGoogle Scholar
  17. 17.Harrison, W., et al. Subject-Oriented Programming~A Critique of Pure Objects. ACM Conference on Object- Oriented Programming Systems, Languages, and Applications (OOPSLA "93), September 1993.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18.Martin, R., et al., eds. Pattern Languages of Program Design 3. Addison-Wesley, Reading, MA, 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 19.Millstein, T., et al. Modular Statically Typed Multi methods . European Conference on Object-Oriented Programming (ECOOP '99), June 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20.Norvig, P. Design Patterns in Dynamic Programming. Presentation at Object WorId, 1996. Available at http://www .norvig.com/design-patterns/.]]Google ScholarGoogle Scholar
  21. 21.Schmidt, D., et al. Double-Checked Locking. In Pattern Languages of Program Design 3, Addison-Wesley, Reading, MA, 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 22.Seiter, L.M. Evolution of Object Behavior using Context Relations. 1EEE Transactions on Software Engineering, January 1998. An earlier version with the same name appeared in the A CM Symposium on the Foundations of Software Engineering (FSE '96), October 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 23.Shalit, A. The Dylan Reference Manual. Addison-Wesley, Reading, MA, 1996.]]Google ScholarGoogle Scholar
  24. 24.Simonyi, C. The Future is Intentional. IEEE Computer, May 1999. More information available at h~_://www.research. microsoft.corn/ip/.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 25.Ungar, D., et al. Self: The Power of Simplicity. ACM Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA '87), October 1987.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. 26.Vlissides, J. Pattern Hatching: Design Patterns Applied. Addison-Wesley, Reading, MA, 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. 27.Vlissides, J. Visitor in Frameworks. C++ Report, Vol. 10, No. 10 (1999), pp. 40--46.]]Google ScholarGoogle Scholar

Index Terms

  1. A debate on language and tool support for design patterns

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!