{"id":"https://openalex.org/W2113203824","doi":"https://doi.org/10.1145/263698.263739","title":"Composite design patterns","display_name":"Composite design patterns","publication_year":1997,"publication_date":"1997-10-09","ids":{"openalex":"https://openalex.org/W2113203824","doi":"https://doi.org/10.1145/263698.263739","mag":"2113203824"},"language":"en","primary_location":{"id":"doi:10.1145/263698.263739","doi":"https://doi.org/10.1145/263698.263739","is_oa":true,"landing_page_url":"https://doi.org/10.1145/263698.263739","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/263700.263739","source":{"id":"https://openalex.org/S4306418083","display_name":"Conference on Object-Oriented Programming Systems, Languages, and Applications","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications","raw_type":"proceedings-article"},"volume":null,"type":"conference-paper","is_traditional":true,"indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/263700.263739","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5060174417","display_name":"Dirk Riehle","orcid":"https://orcid.org/0000-0002-8139-5600","observed_orcids":["https://orcid.org/0000-0002-8139-5600"]},"institutions":[{"id":"https://openalex.org/I131328143","display_name":"Union Bank of Switzerland","ror":"https://ror.org/01ekk8h85","country_code":"CH","type":"other","lineage":["https://openalex.org/I131328143"]}],"countries":["CH"],"is_corresponding":true,"raw_author_name":"Dirk Riehle","raw_affiliation_strings":["Ubilab, Union Bank of Switzerland, Bahnhofstrasse 45, CH-8021, Zurich"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Ubilab, Union Bank of Switzerland, Bahnhofstrasse 45, CH-8021, Zurich","institution_ids":["https://openalex.org/I131328143"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5060174417"],"corresponding_institution_ids":["https://openalex.org/I131328143"],"apc_list":null,"apc_paid":null,"fwci":60.3659,"has_fulltext":true,"cited_by_count":166,"citation_normalized_percentile":{"value":1.0,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":88,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"218","last_page":"228"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T12490","display_name":"Software Engineering and Design Patterns","score":0.9843999743461609,"subfield":{"id":"https://openalex.org/subfields/3303","display_name":"Development"},"field":{"id":"https://openalex.org/fields/33","display_name":"Social Sciences"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}},"topics":[{"id":"https://openalex.org/T12490","display_name":"Software Engineering and Design Patterns","score":0.9843999743461609,"subfield":{"id":"https://openalex.org/subfields/3303","display_name":"Development"},"field":{"id":"https://openalex.org/fields/33","display_name":"Social Sciences"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}},{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.012900000438094139,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10430","display_name":"Software Engineering Techniques and Practices","score":0.0015999999595806003,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/composite-design-pattern","display_name":"composite design pattern","score":0.9850000143051147},{"id":"https://openalex.org/keywords/design-patterns","display_name":"design patterns","score":0.9359999895095825},{"id":"https://openalex.org/keywords/pattern-composition","display_name":"pattern composition","score":0.8180000185966492},{"id":"https://openalex.org/keywords/object-oriented-framework","display_name":"object-oriented framework","score":0.8560000061988831}],"concepts":[{"id":"https://openalex.org/C146054899","wikidata":"https://www.wikidata.org/wiki/Q181156","display_name":"Software design pattern","level":3,"score":0.7597225904464722},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7137762308120728},{"id":"https://openalex.org/C164202143","wikidata":"https://www.wikidata.org/wiki/Q635280","display_name":"Structural pattern","level":5,"score":0.5448460578918457},{"id":"https://openalex.org/C14501506","wikidata":"https://www.wikidata.org/wiki/Q5253831","display_name":"Design pattern","level":2,"score":0.5336459875106812},{"id":"https://openalex.org/C2164484","wikidata":"https://www.wikidata.org/wiki/Q5170150","display_name":"Core (optical fiber)","level":2,"score":0.5262759327888489},{"id":"https://openalex.org/C53073257","wikidata":"https://www.wikidata.org/wiki/Q7075021","display_name":"Object-oriented design","level":3,"score":0.4967392086982727},{"id":"https://openalex.org/C104779481","wikidata":"https://www.wikidata.org/wiki/Q50707","display_name":"Composite number","level":2,"score":0.4874284565448761},{"id":"https://openalex.org/C40231798","wikidata":"https://www.wikidata.org/wiki/Q1333743","display_name":"Composition (language)","level":2,"score":0.44806140661239624},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4423283040523529},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.43913984298706055},{"id":"https://openalex.org/C52913732","wikidata":"https://www.wikidata.org/wiki/Q857102","display_name":"Software design","level":4,"score":0.38115477561950684},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.3640546202659607},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3303745985031128},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.32116806507110596},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.22319316864013672},{"id":"https://openalex.org/C76155785","wikidata":"https://www.wikidata.org/wiki/Q418","display_name":"Telecommunications","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/263698.263739","doi":"https://doi.org/10.1145/263698.263739","is_oa":true,"landing_page_url":"https://doi.org/10.1145/263698.263739","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/263700.263739","source":{"id":"https://openalex.org/S4306418083","display_name":"Conference on Object-Oriented Programming Systems, Languages, and Applications","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.101.6748","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.101.6748","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.riehle.org/computer-science/research/1997/oopsla-1997.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.33.5016","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.33.5016","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.ubilab.org/publications/print_versions/ps/rie97e.ps.gz","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.46.4413","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.46.4413","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.de.berlin-consortium.org/berlin/docs/composite-design-patterns.pdf","raw_type":"text"}],"best_oa_location":{"id":"doi:10.1145/263698.263739","doi":"https://doi.org/10.1145/263698.263739","is_oa":true,"landing_page_url":"https://doi.org/10.1145/263698.263739","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/263700.263739","source":{"id":"https://openalex.org/S4306418083","display_name":"Conference on Object-Oriented Programming Systems, Languages, and Applications","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications","raw_type":"proceedings-article"},"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2113203824.pdf","grobid_xml":"https://content.openalex.org/works/W2113203824.grobid-xml"},"referenced_works_count":36,"referenced_works":["https://openalex.org/W41699526","https://openalex.org/W95105260","https://openalex.org/W617329964","https://openalex.org/W1483661952","https://openalex.org/W1498909995","https://openalex.org/W1500989550","https://openalex.org/W1521422937","https://openalex.org/W1569144507","https://openalex.org/W1593718819","https://openalex.org/W1607942576","https://openalex.org/W1609546211","https://openalex.org/W1649645444","https://openalex.org/W1844961184","https://openalex.org/W1965695377","https://openalex.org/W1985757471","https://openalex.org/W1996974848","https://openalex.org/W2081052864","https://openalex.org/W2086197251","https://openalex.org/W2086970510","https://openalex.org/W2088520036","https://openalex.org/W2114696172","https://openalex.org/W2120214216","https://openalex.org/W2126876961","https://openalex.org/W2134606933","https://openalex.org/W2153656501","https://openalex.org/W2159297186","https://openalex.org/W2169562315","https://openalex.org/W2207008491","https://openalex.org/W2561675875","https://openalex.org/W2798957572","https://openalex.org/W2798977449","https://openalex.org/W2911797862","https://openalex.org/W4206737400","https://openalex.org/W4252803935","https://openalex.org/W4255982026","https://openalex.org/W6600457792"],"related_works":["https://openalex.org/W2153592966","https://openalex.org/W7096762402","https://openalex.org/W2093296951","https://openalex.org/W7099776111","https://openalex.org/W99937609","https://openalex.org/W2167640464","https://openalex.org/W2033342459","https://openalex.org/W4238625499","https://openalex.org/W2157718422","https://openalex.org/W2023366065"],"abstract_inverted_index":{"Software":[0],"design":[1,16,28],"patterns":[2,17,42,80],"are":[3,18],"the":[4,19,38,43,52,57,82],"core":[5,20],"abstractions":[6,21],"from":[7,22,85],"successful":[8,23],"recurring":[9,24],"problem":[10,87],"solutions":[11,88],"in":[12],"software":[13],"design.":[14],"Composite":[15],"frameworks.":[25,91],"A":[26],"composite":[27,67,79],"pattern":[29,32,83],"is":[30,34],"a":[31,48,70],"that":[33,50,78],"best":[35],"described":[36],"as":[37],"composition":[39,53,74],"of":[40,45,59,66],"further":[41],"integration":[44],"which":[46],"shows":[47],"synergy":[49],"makes":[51],"more":[54],"than":[55],"just":[56],"sum":[58],"its":[60],"parts.":[61],"This":[62],"paper":[63],"presents":[64],"examples":[65],"patterns,":[68],"discusses":[69],"role-based":[71],"analysis":[72],"and":[73,76],"technique,":[75],"demonstrates":[77],"extend":[81],"idea":[84],"single":[86],"to":[89],"object-oriented":[90]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":4},{"year":2017,"cited_by_count":3},{"year":2016,"cited_by_count":3},{"year":2015,"cited_by_count":4},{"year":2014,"cited_by_count":4},{"year":2013,"cited_by_count":5},{"year":2012,"cited_by_count":2}],"updated_date":"2026-11-12T12:28:57.059296","created_date":"2016-06-24T00:00:00"}
