{"id":"https://openalex.org/W281036601","doi":"https://doi.org/10.1007/978-1-4842-0394-1_25","title":"The Visitor Pattern","display_name":"The Visitor Pattern","publication_year":2014,"publication_date":"2014-11-13","ids":{"openalex":"https://openalex.org/W281036601","doi":"https://doi.org/10.1007/978-1-4842-0394-1_25","mag":"281036601"},"language":"en","primary_location":{"id":"doi:10.1007/978-1-4842-0394-1_25","doi":"https://doi.org/10.1007/978-1-4842-0394-1_25","is_oa":false,"landing_page_url":"https://doi.org/10.1007/978-1-4842-0394-1_25","pdf_url":null,"source":{"id":"https://openalex.org/S4306462844","display_name":"Apress eBooks","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":"ebook platform"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Pro Design Patterns in Swift","raw_type":"book-chapter"},"volume":{"id":"https://openalex.org/W2271767524","display_name":"Pro Design Patterns in Swift"},"type":"book-chapter","is_traditional":true,"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/A5006620531","display_name":"Adam Freeman","orcid":"https://orcid.org/0000-0002-2989-148X","observed_orcids":["https://orcid.org/0000-0002-2989-148X"]},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Adam Freeman","raw_affiliation_strings":["Chicago, United States"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Chicago, United States","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":["https://openalex.org/A5006620531"],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.0,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"503","last_page":"516"},"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.9980000257492065,"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.9980000257492065,"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.0005000000237487257,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":9.999999747378752e-05,"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/visitor-pattern","display_name":"visitor pattern","score":0.9980000257492065},{"id":"https://openalex.org/keywords/strategy-pattern","display_name":"strategy pattern","score":0.9869999885559082},{"id":"https://openalex.org/keywords/open-closed-principle","display_name":"open-closed principle","score":0.7670000195503235},{"id":"https://openalex.org/keywords/object-oriented-design","display_name":"object-oriented design","score":0.5720000267028809}],"concepts":[{"id":"https://openalex.org/C48947383","wikidata":"https://www.wikidata.org/wiki/Q830719","display_name":"Visitor pattern","level":2,"score":0.9863162040710449},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.5778176188468933},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.5657875537872314},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.5295430421829224},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4771672785282135},{"id":"https://openalex.org/C45235069","wikidata":"https://www.wikidata.org/wiki/Q278425","display_name":"Table (database)","level":2,"score":0.4491455852985382},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.26141268014907837},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.18424662947654724},{"id":"https://openalex.org/C124101348","wikidata":"https://www.wikidata.org/wiki/Q172491","display_name":"Data mining","level":1,"score":0.16111481189727783},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.1454114019870758},{"id":"https://openalex.org/C166957645","wikidata":"https://www.wikidata.org/wiki/Q23498","display_name":"Archaeology","level":1,"score":0.05720922350883484},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.05539065599441528}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1007/978-1-4842-0394-1_25","doi":"https://doi.org/10.1007/978-1-4842-0394-1_25","is_oa":false,"landing_page_url":"https://doi.org/10.1007/978-1-4842-0394-1_25","pdf_url":null,"source":{"id":"https://openalex.org/S4306462844","display_name":"Apress eBooks","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":"ebook platform"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Pro Design Patterns in Swift","raw_type":"book-chapter"}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W4238161362","https://openalex.org/W1915061844","https://openalex.org/W4253011003","https://openalex.org/W2132262809","https://openalex.org/W2014220905","https://openalex.org/W2154964652","https://openalex.org/W2396013838","https://openalex.org/W4293433566","https://openalex.org/W2397665272","https://openalex.org/W7097975251"],"abstract_inverted_index":{"The":[0],"visitor":[1,34,47],"pattern":[2,8,35,48],"is":[3,36,64],"similar":[4],"to":[5,18,38],"the":[6,13,33,46,60,67,73],"strategy":[7],"in":[9],"that":[10,32],"it":[11],"allows":[12],"behavior":[14],"of":[15,40],"a":[16,28],"class":[17],"be":[19,70],"extended":[20],"without":[21],"modifying":[22],"its":[23],"source":[24],"code":[25],"or":[26],"creating":[27],"new":[29],"subclass,":[30],"except":[31],"applied":[37],"collections":[39],"heterogeneous":[41],"objects.":[42],"Table":[43],"25-1":[44],"puts":[45],"into":[49],"context.":[50],"These":[51],"keywords":[52,68],"were":[53],"added":[54],"by":[55,59],"machine":[56],"and":[57,66],"not":[58],"authors.":[61],"This":[62],"process":[63],"experimental":[65],"may":[69],"updated":[71],"as":[72],"learning":[74],"algorithm":[75],"improves.":[76]},"counts_by_year":[],"updated_date":"2026-10-10T09:11:00.788812","created_date":"2016-06-24T00:00:00"}
