skip to main content
10.1145/364447.364608acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
Article

OO overkill: when simple is better than not

Published:01 February 2001Publication History

ABSTRACT

Object oriented design patterns as popularized in [GHJV95] are intended to solve common programming problems and to assist the programmer in designing and developing robust systems. As first year courses increasingly emphasize object orientation, knowledge of design patterns and when to use them becomes an important component of the first year curriculum. Recent literature has focused on introducing the patterns to computer science educators, but not on the situations and contexts in which the patterns are appropriate. Design patterns and object orientation are parts of a methodology that scales to large systems. In this paper we show that these concepts do not always scale down. We analyze examples from current literature that would be simpler without patterns, and provide examples of when the same design patterns do make design and programs simpler.

References

  1. ABCM98.Owen Astrachan, Geoffrey Berry, Landon Cox, and Garrett Mitchener. Design patterns: An essential component of cs curricula. In Twenty-ninth SIGCSE Technical Symposium on Computer Science Education, pages 153-160. ACM Press, February 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Ada96.Joel Adams. Knowing your roots: Objectoriented binary search trees revisited. SIGCSE Bulletin, 28(4);36-40, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Ast98.Owen Astrachan. Twenty questions/animal game. SIGCSE Symposium Presentation, 1998. http ://www. cs. duke. edu/csed/ patterns/animal/.Google ScholarGoogle Scholar
  4. AW98.Owen Astrachan and Eugene Wallingford. Loop patterns. In Proceedings of PLOP: Pattern languages of Programming, August 1998. Allerton Park, IL.Google ScholarGoogle Scholar
  5. BD96.A. Michael Berman and Robert Duvall. Thinking about binary trees in an object oriented world. In Twenty-Seventh SIGCSE Technical Symposium on Computer Science Education, pages 185-189. ACM Press, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Car98.Robert (Corky) Cartwright. Design patterns in cs2. OOPSLA Workshop on CS2, 1998.Google ScholarGoogle Scholar
  7. Car00.Robert (Corky) Cartwright. Using design patterns early. FYI 2000: Workshop on First Year Instruction, 2000.Google ScholarGoogle Scholar
  8. Fle93.Ann Fleury. Student beliefs about pascal programming. Journal of Educational Computing Research, 9:355-371, 1993.Google ScholarGoogle ScholarCross RefCross Ref
  9. GGT98.Natasha Gelfand, Michael T. Goodrich, and Roberto Tamassia. Teaching data structures design patterns. In Twenty-Ninth SIGCSE Technical Symposium on Computer Science Education. ACM Press, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. GHJV95.Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. KR91.J. Koenemann and S. Robertson. Expert problem solving strategies for program comprehension. CHI Proceedings, pages 125- 130, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Ngu98.Dung Nguyen. Design patterns for data structures. In Twenty-Ninth SIGCSE Technical Symposium on Computer Science Education, pages 336-340. ACM Press, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. NW99.Dung Nguyen and Stephen B. Wong. Patterns for decoupling data structures and algorithms. In Thirtieth SIGCSE Technical Symposium on Computer Science Education, pages 87-91. ACM Press, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. NW00.Dung Nguyen and Stephen B. Wong. Design patterns for lazy evaluation. In Thirty-First SIGCSE Technical Symposium on Computer Science Education, pages 21-25. ACM Press, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. NW01.Dung Nguyen and Stephen B. Wong. Design patterns for sorting. In Thirty-first SIGCSE Technical Symposium on Computer Science Education. ACM Press, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Rie96.Arthur Riel. Object-Oriented Design Heuristics. Addison-Wesley, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Wal96.Eugene Wallingford. Toward a first course based on object-oriented patterns. In Twenty-Seventh SIGCSE Technical Symposium on Computer Science Education, pages 27-31. ACM Press, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Woo98.Bobby Woolf. The null object pattern. In Robert Martin, Dirk Riehle, and Frank Buschmann, editors, Pattern Languages of Program Design 3. Addison-Wesley, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. OO overkill: when simple is better than not

            Recommendations

            Comments

            Login options

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

            Sign in
            • Published in

              cover image ACM Conferences
              SIGCSE '01: Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
              February 2001
              456 pages
              ISBN:1581133294
              DOI:10.1145/364447

              Copyright © 2001 ACM

              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 1 February 2001

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • Article

              Acceptance Rates

              SIGCSE '01 Paper Acceptance Rate78of225submissions,35%Overall Acceptance Rate1,595of4,542submissions,35%

              Upcoming Conference

              SIGCSE Virtual 2024

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader