{"id":"https://openalex.org/W4403509058","doi":"https://doi.org/10.1145/3694848.3694855","title":"The Essence of the Flyweight Design Pattern","display_name":"The Essence of the Flyweight Design Pattern","publication_year":2024,"publication_date":"2024-10-17","ids":{"openalex":"https://openalex.org/W4403509058","doi":"https://doi.org/10.1145/3694848.3694855"},"language":"en","primary_location":{"id":"doi:10.1145/3694848.3694855","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3694848.3694855","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3694848.3694855?download=true","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Workshop Dedicated to Jens Palsberg on the Occasion of His 60th Birthday","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3694848.3694855?download=true","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5078149140","display_name":"Fernando Magno Quint\u00e3o Pereira","orcid":"https://orcid.org/0000-0002-0375-1657"},"institutions":[{"id":"https://openalex.org/I110200422","display_name":"Universidade Federal de Minas Gerais","ror":"https://ror.org/0176yjw32","country_code":"BR","type":"education","lineage":["https://openalex.org/I110200422"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Fernando Magno Quint\u00e3o Pereira","raw_affiliation_strings":["Federal University of Minas Gerais, Belo Horizonte, Brazil"],"raw_orcid":"https://orcid.org/0000-0002-0375-1657","affiliations":[{"raw_affiliation_string":"Federal University of Minas Gerais, Belo Horizonte, Brazil","institution_ids":["https://openalex.org/I110200422"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5114277212","display_name":"Caio Raposo","orcid":null},"institutions":[{"id":"https://openalex.org/I110200422","display_name":"Universidade Federal de Minas Gerais","ror":"https://ror.org/0176yjw32","country_code":"BR","type":"education","lineage":["https://openalex.org/I110200422"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Caio Raposo","raw_affiliation_strings":["Federal University of Minas Gerais, Belo Horizonte, Brazil"],"raw_orcid":"https://orcid.org/0009-0009-9308-7064","affiliations":[{"raw_affiliation_string":"Federal University of Minas Gerais, Belo Horizonte, Brazil","institution_ids":["https://openalex.org/I110200422"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I110200422"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":{"value":0.34672606,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"30","last_page":"38"},"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.9925000071525574,"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.9925000071525574,"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/T11159","display_name":"Manufacturing Process and Optimization","score":0.982200026512146,"subfield":{"id":"https://openalex.org/subfields/2209","display_name":"Industrial and Manufacturing Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T13681","display_name":"Engineering and Information Technology","score":0.9592000246047974,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.5999352335929871}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.5999352335929871}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3694848.3694855","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3694848.3694855","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3694848.3694855?download=true","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Workshop Dedicated to Jens Palsberg on the Occasion of His 60th Birthday","raw_type":"proceedings-article"}],"best_oa_location":{"id":"doi:10.1145/3694848.3694855","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3694848.3694855","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3694848.3694855?download=true","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Workshop Dedicated to Jens Palsberg on the Occasion of His 60th Birthday","raw_type":"proceedings-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4403509058.pdf","grobid_xml":"https://content.openalex.org/works/W4403509058.grobid-xml"},"referenced_works_count":28,"referenced_works":["https://openalex.org/W1492943981","https://openalex.org/W1649645444","https://openalex.org/W1840254373","https://openalex.org/W1976811743","https://openalex.org/W1980201123","https://openalex.org/W2028423097","https://openalex.org/W2036548030","https://openalex.org/W2037984920","https://openalex.org/W2045492613","https://openalex.org/W2051716170","https://openalex.org/W2056167392","https://openalex.org/W2060546968","https://openalex.org/W2062145157","https://openalex.org/W2111609583","https://openalex.org/W2145459199","https://openalex.org/W2154521708","https://openalex.org/W2166012656","https://openalex.org/W2238870899","https://openalex.org/W2267184053","https://openalex.org/W2381332170","https://openalex.org/W2892874221","https://openalex.org/W3037224705","https://openalex.org/W3047158069","https://openalex.org/W4235725220","https://openalex.org/W4246397708","https://openalex.org/W4285121964","https://openalex.org/W4390605281","https://openalex.org/W6805912654"],"related_works":["https://openalex.org/W4391375266","https://openalex.org/W2899084033","https://openalex.org/W2748952813","https://openalex.org/W2390279801","https://openalex.org/W4391913857","https://openalex.org/W2358668433","https://openalex.org/W4396701345","https://openalex.org/W2376932109","https://openalex.org/W2001405890","https://openalex.org/W4396696052"],"abstract_inverted_index":{"In":[0,72],"1998,":[1],"Palsberg":[2],"and":[3],"Jay":[4],"published":[5],"a":[6,84,121,135],"paper":[7],"on":[8],"the":[9,12,40,47,92,104,131,139,155,165,186,219],"\"Essence":[10],"of":[11,43,64,87,95,106,123,130,138,167,179,199,208,212,222],"Visitor":[13],"Pattern.\"":[14],"Their":[15],"approach":[16,175],"to":[17,22,31,54,114,149,162,170],"implementing":[18],"visitors":[19],"was":[20],"able":[21],"achieve":[23],"elegance":[24],"without":[25],"sacrificing":[26],"efficiency.":[27],"To":[28],"pay":[29],"homage":[30],"that":[32,90,103,146,177],"work,":[33],"this":[34,73,100],"paper,":[35,74],"26":[36],"years":[37],"later,":[38],"discusses":[39],"essential":[41],"characteristics":[42],"another":[44],"design":[45,50],"pattern:":[46],"Flyweight.":[48],"This":[49,174],"pattern":[51,133],"describes":[52],"how":[53,154],"minimize":[55],"memory":[56],"usage":[57],"when":[58],"storing":[59],"objects":[60,148,181,201,214],"by":[61,118],"sharing":[62],"some":[63],"these":[65],"objects'":[66],"data":[67],"with":[68,204],"other":[69],"similar":[70],"objects.":[71,173],"we":[75,125,152],"propose":[76],"that,":[77],"fundamentally,":[78],"Flyweights":[79],"can":[80],"be":[81,150],"incorporated":[82],"as":[83,134,195,217],"built-in":[85],"feature":[86,137],"programming":[88,141],"languages":[89],"support":[91],"safe":[93],"memoization":[94,187],"object":[96,108],"constructors.":[97],"Safety,":[98],"in":[99,218],"context,":[101],"ensures":[102,176],"state":[105],"an":[107],"is":[109,164],"not":[110],"unintentionally":[111],"altered":[112],"due":[113],"implicit":[115],"aliasing":[116],"created":[117],"memoization.":[119],"As":[120],"proof":[122],"concept,":[124],"have":[126],"implemented":[127],"our":[128],"interpretation":[129],"flyweight":[132,156],"native":[136],"Hush":[140],"language.":[142],"By":[143],"marking":[144],"functions":[145],"create":[147],"memoized,":[151],"demonstrate":[153],"technique":[157],"naturally":[158],"emerges.":[159],"The":[160],"key":[161],"correctness":[163],"use":[166],"shared-ownership":[168],"pointers":[169],"reference":[171],"memoized":[172,180,200],"mutation":[178],"causes":[182],"their":[183],"removal":[184],"from":[185],"cache.":[188],"Our":[189],"implementation":[190,221],"incurs":[191],"minimal":[192],"performance":[193],"overhead,":[194],"experiments":[196],"indicate:":[197],"attributes":[198,211],"are":[202,215],"accessed":[203,216],"one":[205],"extra":[206],"level":[207],"indirection,":[209],"while":[210],"non-memoized":[213],"original":[220],"Hush.":[223]},"counts_by_year":[],"updated_date":"2026-06-26T08:34:08.712188","created_date":"2025-10-10T00:00:00"}
