{"id":"https://openalex.org/W2010462450","doi":"https://doi.org/10.1145/1370164.1370166","title":"Language features meet design patterns","display_name":"Language features meet design patterns","publication_year":2008,"publication_date":"2008-05-11","ids":{"openalex":"https://openalex.org/W2010462450","doi":"https://doi.org/10.1145/1370164.1370166","mag":"2010462450"},"language":"en","primary_location":{"id":"doi:10.1145/1370164.1370166","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1370164.1370166","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2nd international workshop on The role of abstraction in software engineering","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5079587518","display_name":"Judith Bishop","orcid":"https://orcid.org/0000-0001-9986-7269"},"institutions":[{"id":"https://openalex.org/I69552723","display_name":"University of Pretoria","ror":"https://ror.org/00g0p6g84","country_code":"ZA","type":"education","lineage":["https://openalex.org/I69552723"]}],"countries":["ZA"],"is_corresponding":true,"raw_author_name":"Judith Bishop","raw_affiliation_strings":["University of Pretoria, Pretoria, South Africa","University of Pretoria , Pretoria, South Africa"],"affiliations":[{"raw_affiliation_string":"University of Pretoria, Pretoria, South Africa","institution_ids":["https://openalex.org/I69552723"]},{"raw_affiliation_string":"University of Pretoria , Pretoria, South Africa","institution_ids":["https://openalex.org/I69552723"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5079587518"],"corresponding_institution_ids":["https://openalex.org/I69552723"],"apc_list":null,"apc_paid":null,"fwci":4.2386,"has_fulltext":false,"cited_by_count":10,"citation_normalized_percentile":{"value":0.95134021,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"7"},"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.9987000226974487,"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.9987000226974487,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9973999857902527,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9969000220298767,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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/computer-science","display_name":"Computer science","score":0.7967612743377686},{"id":"https://openalex.org/keywords/software-design-pattern","display_name":"Software design pattern","score":0.7558804750442505},{"id":"https://openalex.org/keywords/serialization","display_name":"Serialization","score":0.6883039474487305},{"id":"https://openalex.org/keywords/design-pattern","display_name":"Design pattern","score":0.6299195289611816},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.5792795419692993},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5744999051094055},{"id":"https://openalex.org/keywords/context","display_name":"Context (archaeology)","score":0.5377142429351807},{"id":"https://openalex.org/keywords/software-design","display_name":"Software design","score":0.4622931182384491},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.4533294439315796},{"id":"https://openalex.org/keywords/architectural-pattern","display_name":"Architectural pattern","score":0.44275107979774475},{"id":"https://openalex.org/keywords/layer","display_name":"Layer (electronics)","score":0.44225725531578064},{"id":"https://openalex.org/keywords/realization","display_name":"Realization (probability)","score":0.42884063720703125},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.4252145290374756},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.42356282472610474},{"id":"https://openalex.org/keywords/abstraction","display_name":"Abstraction","score":0.41086962819099426},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.3343185782432556},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.10405963659286499}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7967612743377686},{"id":"https://openalex.org/C146054899","wikidata":"https://www.wikidata.org/wiki/Q181156","display_name":"Software design pattern","level":3,"score":0.7558804750442505},{"id":"https://openalex.org/C52723943","wikidata":"https://www.wikidata.org/wiki/Q1127410","display_name":"Serialization","level":2,"score":0.6883039474487305},{"id":"https://openalex.org/C14501506","wikidata":"https://www.wikidata.org/wiki/Q5253831","display_name":"Design pattern","level":2,"score":0.6299195289611816},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.5792795419692993},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5744999051094055},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.5377142429351807},{"id":"https://openalex.org/C52913732","wikidata":"https://www.wikidata.org/wiki/Q857102","display_name":"Software design","level":4,"score":0.4622931182384491},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.4533294439315796},{"id":"https://openalex.org/C72280835","wikidata":"https://www.wikidata.org/wiki/Q635346","display_name":"Architectural pattern","level":5,"score":0.44275107979774475},{"id":"https://openalex.org/C2779227376","wikidata":"https://www.wikidata.org/wiki/Q6505497","display_name":"Layer (electronics)","level":2,"score":0.44225725531578064},{"id":"https://openalex.org/C2781089630","wikidata":"https://www.wikidata.org/wiki/Q21856745","display_name":"Realization (probability)","level":2,"score":0.42884063720703125},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4252145290374756},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.42356282472610474},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.41086962819099426},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.3343185782432556},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.10405963659286499},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0},{"id":"https://openalex.org/C178790620","wikidata":"https://www.wikidata.org/wiki/Q11351","display_name":"Organic chemistry","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","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/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1370164.1370166","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1370164.1370166","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2nd international workshop on The role of abstraction in software engineering","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Zero hunger","id":"https://metadata.un.org/sdg/2","score":0.47999998927116394}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":15,"referenced_works":["https://openalex.org/W1539709474","https://openalex.org/W1544312063","https://openalex.org/W1565372701","https://openalex.org/W1593874741","https://openalex.org/W1649645444","https://openalex.org/W1977690202","https://openalex.org/W2007126868","https://openalex.org/W2020073275","https://openalex.org/W2081508677","https://openalex.org/W2088322083","https://openalex.org/W2097964082","https://openalex.org/W2128743718","https://openalex.org/W2131905908","https://openalex.org/W2888001232","https://openalex.org/W6672507381"],"related_works":["https://openalex.org/W2037721767","https://openalex.org/W2141627206","https://openalex.org/W2989649103","https://openalex.org/W2091443128","https://openalex.org/W3194081485","https://openalex.org/W2109240502","https://openalex.org/W4385303825","https://openalex.org/W2021710463","https://openalex.org/W1980911550","https://openalex.org/W4248758433"],"abstract_inverted_index":{"In":[0,63],"the":[1,8,19,22,42,59,74,122],"context":[2],"of":[3,21,41,83,96,102,124],"software":[4,60],"engineering,":[5],"abstraction":[6],"is":[7],"means":[9],"by":[10],"which":[11,103],"we":[12],"move":[13],"from":[14],"layer":[15,17],"to":[16,24,108],"in":[18,57,58,69,86,100],"realization":[20],"solution":[23],"a":[25,34],"large":[26],"problem.":[27],"It":[28],"has":[29],"been":[30],"recognized":[31],"for":[32,45,76],"over":[33],"decade":[35],"that":[36,114],"design":[37,71,78,116,126],"patterns":[38,127],"are":[39,81,119],"one":[40],"key":[43],"mechanisms":[44],"implementing":[46,77],"reliable":[47],"and":[48,91,110,121],"maintainable":[49],"software.":[50],"This":[51],"paper":[52],"explores":[53],"where":[54],"they":[55],"fit":[56],"\"food":[61],"chain\".":[62],"particular,":[64],"it":[65],"examines":[66],"how":[67],"advances":[68],"language":[70],"can":[72],"narrow":[73],"gap":[75],"patterns.":[79],"Examples":[80],"given":[82],"syntax":[84],"features":[85],"C#":[87],"3.0":[88],"(extension":[89],"methods":[90,98],"LINQ)":[92],"as":[93,95],"well":[94],"library":[97],"(Serialize)":[99],"terms":[101],"pattern":[104,117],"implementations":[105],"become":[106],"easier":[107],"produce":[109],"reproduce.":[111],"The":[112],"challenges":[113],"face":[115],"implementation":[118],"discussed":[120],"promise":[123],"reusable":[125],"examined.":[128]},"counts_by_year":[{"year":2023,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2013,"cited_by_count":2},{"year":2012,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
