[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/263698.263739acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article
Free access

Composite design patterns

Published: 09 October 1997 Publication History

Abstract

Software design patterns are the core abstractions from successful recurring problem solutions in software design. Composite design patterns are the core abstractions from successful recurring frameworks. A composite design pattern is a pattern that is best described as the composition of further patterns the integration of which shows a synergy that makes the composition more than just the sum of its parts. This paper presents examples of composite patterns, discusses a role-based analysis and composition technique, and demonstrates that composite patterns extend the pattern idea from single problem solutions to object-oriented frameworks.

References

[1]
Mehmet Aksit, Lodewijk Bergmans and Sinan Vural. "An Object-Oriented Language-Database Integration Model: The Composition-Filters Approach." ECOOP '92, Conference Proceedings. Springer-Vedag, 1992.
[2]
Christopher Alexander. A Pattern Language. Oxford University Press, 1979.
[3]
Shigem Chiba and Takashi Masuda. "Designing and Extensible Distributed Language with a Metalevel Architecture." ECOOP '93, Conference Proceedings. LNCS 707. Springer- Verlag, 1993. Page 482-50 i.
[4]
James O. Coplien. "Pattern Languages." C++ Report 9, i (January 1997): 15-21.
[5]
james O. Coplien and Douglas Schmidt (editors). Pattern Languages of Program Design. Addison-Wesley, 1995.
[6]
Richard P. Gabriel. "The Failure of Pattern Languages." Journal of Object-Oriented Programming 5, 9 (February 1994): 84-88.
[7]
Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides. Design Patterns: Elements of Reusable Design. Addison-Wesley, 1995.
[8]
Georg Gottlob, Michael Schrefl, and Brigitte ROck. "Extending Object-Oriented Systems with Roles." ACM Transactions on Information Systems 14, 3 (July 1996): 268-296.
[9]
Richard Helm, Ian M. Holland and Dipayan Gangopadhyay. "Contracts: Specifying Behavioral Compositions in Object-Oriented Systems." OOPSLA '90, Conference Proceedings. ACM Press. Page 169-180.
[10]
Ralph E. Johnson and Brian Foote. "Designing Reusable Classes." Journal of Object-Oriented Programming 1, 2 (June/July 1988): 22-35.
[11]
Ralph E. Johnson and Jeff Oakes. "The User-Defined Product Framework." In preparation.
[12]
Ralph E. Johnson. "Documenting Frameworks using Patterns." OOPSLA '92, ACM SIGPLAN Notices 27, 10 (October 1992): 63-70.
[13]
Ralph E. Johnson and Bobby Woolf. "Type Object." In MRBPZ Chapter 4.
[14]
Gregor Kiczales, J. Michael Ashley, Luis H. Rodriguez Jr., Amin Vahdat and Daniel G. Bobrow. "Metaobject Protocols: Why We Want Them and What Else They Can Do." Object-Oriented Progi'amming:~ The CLOS Perspective. MIT Press, 1993. Page 101-118.
[15]
Bent Bruun Kristensen and Kasper Osterbye. "Roles: Conceptual Abstraction Theory and Practical Language issues." Theory and Practice of Object System 2, 3 (1996): 143-160.
[16]
Glenn E. Krasner and Stephen T. Pope. "A Cookbook for Using the Model-View-Controller User Interface Paradigm in Smalltalk-80." Journal of Object-Oriented Programming 1, 3 (August/September 1988): 26-49.
[17]
Ted Lewis. Object-Oriented Application Frameworks. Manning, I995.
[18]
Jeff McAffer. "Metalevel Programming with CodA." ECOOP '95, Conference Proceedings. Lecture Notes in Computer Science 952. Berlin, Heidelberg: Springer-Vedag. Page 190-214.
[19]
Robert C. Martin, Dirk Riehle, and Frank Buschmann (editors). Pattern Languages of Program Design 3. Addison- Wesley, 1997.
[20]
David L. Parnas and Paul C. Clements. "A Rational Design Process: How and Why to Fake It." IEEE Transactions on Software Engineering, 12, 2 (February 1986): 251-257.
[21]
Frank Buschmarm, Regine Meunier, Hans Rohnert, Peter Sommerlad and Michael Stal. Pattern-Oriented Software Architecture. Wiley & Sons, 1996.
[22]
Trygve Reenskaug, with Per Wold and Odd Arild Lehne. Working with Objects. Manning: 1996.
[23]
Trygve Reenskaug. Personal communication, 1996.
[24]
Dirk Riehle. "Describing and Composing Patterns Using Role Diagrams." WOON '96 (1st Int'l Conference on Object-Orientation in Russia), Conference Proceedings. St. Petersburg Electrotechnical University, 1996. Reprinted in Proceedings of the Ubilab Conference '96, Z~irich. Edited by Kai-Uwe M~tzel and Hans-Peter Frei. Konstanz, Universit~itsvedag Konstanz, 1996. Page 137-152,
[25]
Dirk Riehle. A Role-Based Design Pattern Catalog of Atomic and Composite Patterns Structured by Pattern Purpose. Ubilab Technical Report 97.1.1. Ztirich, Switzerland: Union Bank of Switzerland, 1997.
[26]
Dirk Riehle. "Bureaucracy." In MRB9Z Chapter 11.
[27]
Dirk Riehle and Heinz ZiJllighoven. "'A Pattern Language for Tool Construction and Integration Based on the Tools and Materials Metaphor." In CS95. Chapter 2, page 9-42.
[28]
Dirk Riehle and Heinz Ztillighoven. "Understanding and Using Patterns in Software Development." Theory and Practice of Object Systems 2, 1 (1996). Page 3-13.
[29]
John Vlissides, James O. Coplien and Norm Kerth. Pattern Languages of Program Design 2. Reading, MA: Addison-Wesley, 1996.
[30]
Max Weber. The Theory of Socii~l and Economic Organization. Oxford University Press, 1947.
[31]
Andre Weinand and Erich Gamma. "ET++ A Portable Homogeneous Class Library and Application Framework." In Lew95. Chapter 7, page 154-194. ~
[32]
Roel Wieringa, Wiebrien de Jonge and Paul Spruit. "Using Dynamic Classes and Role Classes to Model Object Migration." Theory and Practice of Object Systems 1, 1 (1995): 61- 83.
[33]
Rebecca Wirfs-Broek, Brian Wilkerson und Lauren Wiener. Designing Object-Oriented Software. Prentice-Hall, 1990.
[34]
Phillip M. Yelland. "Creating Host Compliance in a Portable Framework." OOPSLA '96, Conference Proceedings. ACM Press, 1996. Page 18-29.

Cited By

View all
  • (2024)MAPE-K Based Guidelines for Designing Reactive and Proactive Self-adaptive SystemsSoftware Architecture. ECSA 2023 Tracks, Workshops, and Doctoral Symposium10.1007/978-3-031-66326-0_4(53-68)Online publication date: 30-Jul-2024
  • (2023)Live Coding Patterns and a Toolkit for Pure DataOrganised Sound10.1017/S1355771823000365(1-12)Online publication date: 4-Sep-2023
  • (2023)An Intermediate Representation for Rewriting Cypher QueriesDatabase and Expert Systems Applications - DEXA 2023 Workshops10.1007/978-3-031-39689-2_9(86-90)Online publication date: 21-Aug-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
OOPSLA '97: Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
October 1997
345 pages
ISBN:0897919084
DOI:10.1145/263698
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 09 October 1997

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

OOPSLA97
Sponsor:

Acceptance Rates

Overall Acceptance Rate 268 of 1,244 submissions, 22%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)253
  • Downloads (Last 6 weeks)31
Reflects downloads up to 13 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)MAPE-K Based Guidelines for Designing Reactive and Proactive Self-adaptive SystemsSoftware Architecture. ECSA 2023 Tracks, Workshops, and Doctoral Symposium10.1007/978-3-031-66326-0_4(53-68)Online publication date: 30-Jul-2024
  • (2023)Live Coding Patterns and a Toolkit for Pure DataOrganised Sound10.1017/S1355771823000365(1-12)Online publication date: 4-Sep-2023
  • (2023)An Intermediate Representation for Rewriting Cypher QueriesDatabase and Expert Systems Applications - DEXA 2023 Workshops10.1007/978-3-031-39689-2_9(86-90)Online publication date: 21-Aug-2023
  • (2022)A Method of Automated Mock Data Generation for RESTful API Testing2022 RIVF International Conference on Computing and Communication Technologies (RIVF)10.1109/RIVF55975.2022.10013835(376-381)Online publication date: 20-Dec-2022
  • (2021)Data Structures for a Generic Software System using the Composite Design PatternProceedings of the 26th European Conference on Pattern Languages of Programs10.1145/3489449.3489972(1-7)Online publication date: 7-Jul-2021
  • (2021)Automated Test Data Generation for Typescript Web Applications2021 13th International Conference on Knowledge and Systems Engineering (KSE)10.1109/KSE53942.2021.9648782(1-6)Online publication date: 10-Nov-2021
  • (2019)Implementation and Assessment of an Intelligent Motor Tele-Rehabilitation PlatformElectronics10.3390/electronics80100588:1(58)Online publication date: 4-Jan-2019
  • (2019)Improvements of Directed Automated Random Testing in Test Data Generation for C++ ProjectsInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819401950040229:09(1279-1312)Online publication date: 10-Oct-2019
  • (2019)Towards A Catalog of Design Patterns Variants2019 International Conference on Frontiers of Information Technology (FIT)10.1109/FIT47737.2019.00038(156-161)Online publication date: Dec-2019
  • (2017)A Test Data Generation Method for C/C++ ProjectsProceedings of the 8th International Symposium on Information and Communication Technology10.1145/3155133.3155144(431-438)Online publication date: 7-Dec-2017
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media