{"id":"https://openalex.org/W2076311033","doi":"https://doi.org/10.1145/1658866.1658872","title":"Smart composition of game objects using dependency injection","display_name":"Smart composition of game objects using dependency injection","publication_year":2009,"publication_date":"2009-12-01","ids":{"openalex":"https://openalex.org/W2076311033","doi":"https://doi.org/10.1145/1658866.1658872","mag":"2076311033"},"language":"en","primary_location":{"id":"doi:10.1145/1658866.1658872","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1658866.1658872","pdf_url":null,"source":{"id":"https://openalex.org/S131145815","display_name":"Computers in entertainment","issn_l":"1544-3574","issn":["1544-3574","1544-3981"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Computers in Entertainment","raw_type":"journal-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/A5017917337","display_name":"Erick Baptista Passos","orcid":null},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Erick B. Passos","raw_affiliation_strings":["UFF - Media Lab"],"affiliations":[{"raw_affiliation_string":"UFF - Media Lab","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5031953606","display_name":"Jonhnny Weslley S. Sousa","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Jonhnny Weslley S. Sousa","raw_affiliation_strings":["LCD - UFCG"],"affiliations":[{"raw_affiliation_string":"LCD - UFCG","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5057392530","display_name":"Esteban Clua","orcid":"https://orcid.org/0000-0001-5650-1718"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Esteban Walter Gonzales Clua","raw_affiliation_strings":["UFF - Media Lab"],"affiliations":[{"raw_affiliation_string":"UFF - Media Lab","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5047517909","display_name":"Anselmo Montenegro","orcid":"https://orcid.org/0000-0001-9342-8732"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Anselmo Montenegro","raw_affiliation_strings":["UFF - Media Lab"],"affiliations":[{"raw_affiliation_string":"UFF - Media Lab","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5035901146","display_name":"Luiz Ot\u00e1vio Murta","orcid":"https://orcid.org/0000-0002-2197-6008"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Leonardo Murta","raw_affiliation_strings":["UFF"],"affiliations":[{"raw_affiliation_string":"UFF","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5017917337"],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":5.8523,"has_fulltext":false,"cited_by_count":14,"citation_normalized_percentile":{"value":0.95687784,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":"7","issue":"4","first_page":"1","last_page":"15"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11197","display_name":"Digital Games and Media","score":0.9886999726295471,"subfield":{"id":"https://openalex.org/subfields/3312","display_name":"Sociology and Political Science"},"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/T11197","display_name":"Digital Games and Media","score":0.9886999726295471,"subfield":{"id":"https://openalex.org/subfields/3312","display_name":"Sociology and Political Science"},"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9850999712944031,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T11574","display_name":"Artificial Intelligence in Games","score":0.9757000207901001,"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.7574207782745361},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.6292721629142761},{"id":"https://openalex.org/keywords/game-development-tool","display_name":"Game development tool","score":0.6260350942611694},{"id":"https://openalex.org/keywords/debugging","display_name":"Debugging","score":0.5607255697250366},{"id":"https://openalex.org/keywords/dependency","display_name":"Dependency (UML)","score":0.5555769801139832},{"id":"https://openalex.org/keywords/reuse","display_name":"Reuse","score":0.5512347221374512},{"id":"https://openalex.org/keywords/game-design","display_name":"Game design","score":0.5233948826789856},{"id":"https://openalex.org/keywords/game-programming","display_name":"Game programming","score":0.5220196843147278},{"id":"https://openalex.org/keywords/visualization","display_name":"Visualization","score":0.45203012228012085},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.43156009912490845},{"id":"https://openalex.org/keywords/pointer","display_name":"Pointer (user interface)","score":0.4244958758354187},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.41979753971099854},{"id":"https://openalex.org/keywords/initialization","display_name":"Initialization","score":0.4155217707157135},{"id":"https://openalex.org/keywords/game-art-design","display_name":"Game art design","score":0.4149898290634155},{"id":"https://openalex.org/keywords/video-game-development","display_name":"Video game development","score":0.4070175588130951},{"id":"https://openalex.org/keywords/human\u2013computer-interaction","display_name":"Human\u2013computer interaction","score":0.3992346525192261},{"id":"https://openalex.org/keywords/game-developer","display_name":"Game Developer","score":0.3922020196914673},{"id":"https://openalex.org/keywords/game-design-document","display_name":"Game design document","score":0.3757328689098358},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.17826694250106812},{"id":"https://openalex.org/keywords/engineering","display_name":"Engineering","score":0.11625939607620239}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7574207782745361},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.6292721629142761},{"id":"https://openalex.org/C35674477","wikidata":"https://www.wikidata.org/wiki/Q5519933","display_name":"Game development tool","level":5,"score":0.6260350942611694},{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.5607255697250366},{"id":"https://openalex.org/C19768560","wikidata":"https://www.wikidata.org/wiki/Q320727","display_name":"Dependency (UML)","level":2,"score":0.5555769801139832},{"id":"https://openalex.org/C206588197","wikidata":"https://www.wikidata.org/wiki/Q846574","display_name":"Reuse","level":2,"score":0.5512347221374512},{"id":"https://openalex.org/C503285160","wikidata":"https://www.wikidata.org/wiki/Q858057","display_name":"Game design","level":2,"score":0.5233948826789856},{"id":"https://openalex.org/C109347269","wikidata":"https://www.wikidata.org/wiki/Q1753830","display_name":"Game programming","level":5,"score":0.5220196843147278},{"id":"https://openalex.org/C36464697","wikidata":"https://www.wikidata.org/wiki/Q451553","display_name":"Visualization","level":2,"score":0.45203012228012085},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.43156009912490845},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.4244958758354187},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.41979753971099854},{"id":"https://openalex.org/C114466953","wikidata":"https://www.wikidata.org/wiki/Q6034165","display_name":"Initialization","level":2,"score":0.4155217707157135},{"id":"https://openalex.org/C80646779","wikidata":"https://www.wikidata.org/wiki/Q5519919","display_name":"Game art design","level":4,"score":0.4149898290634155},{"id":"https://openalex.org/C54276265","wikidata":"https://www.wikidata.org/wiki/Q1061635","display_name":"Video game development","level":3,"score":0.4070175588130951},{"id":"https://openalex.org/C107457646","wikidata":"https://www.wikidata.org/wiki/Q207434","display_name":"Human\u2013computer interaction","level":1,"score":0.3992346525192261},{"id":"https://openalex.org/C41826821","wikidata":"https://www.wikidata.org/wiki/Q844005","display_name":"Game Developer","level":3,"score":0.3922020196914673},{"id":"https://openalex.org/C6907630","wikidata":"https://www.wikidata.org/wiki/Q3010535","display_name":"Game design document","level":4,"score":0.3757328689098358},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.17826694250106812},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.11625939607620239},{"id":"https://openalex.org/C548081761","wikidata":"https://www.wikidata.org/wiki/Q180388","display_name":"Waste management","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1658866.1658872","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1658866.1658872","pdf_url":null,"source":{"id":"https://openalex.org/S131145815","display_name":"Computers in entertainment","issn_l":"1544-3574","issn":["1544-3574","1544-3981"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Computers in Entertainment","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":5,"referenced_works":["https://openalex.org/W1556673063","https://openalex.org/W1649645444","https://openalex.org/W1880418394","https://openalex.org/W1985167105","https://openalex.org/W2131853686"],"related_works":["https://openalex.org/W1491613725","https://openalex.org/W4381616580","https://openalex.org/W2885055606","https://openalex.org/W2755355173","https://openalex.org/W2124828248","https://openalex.org/W623990712","https://openalex.org/W2106993766","https://openalex.org/W2885801668","https://openalex.org/W2149968468","https://openalex.org/W2786257974"],"abstract_inverted_index":{"Most":[0],"game":[1,8,41,76,100,118],"engines":[2],"are":[3,56,97],"based":[4],"on":[5],"inheritance":[6],"of":[7,12,20,67,99],"objects":[9,77,101],"and/or":[10],"componentization":[11],"behaviors.":[13],"While":[14],"this":[15,61],"approach":[16],"enables":[17],"clear":[18],"visualization":[19],"the":[21,37,65,68,80,89,103,108,117],"system":[22],"architecture,":[23],"good":[24],"code":[25],"reuse,":[26],"and":[27,51,78,91,102],"fast":[28],"prototyping,":[29],"it":[30],"brings":[31],"some":[32],"issues,":[33],"mostly":[34],"related":[35],"to":[36,48,58,73],"high":[38],"dependency":[39,45,69],"between":[40],"objects/components":[42],"instances.":[43],"This":[44],"often":[46],"leads":[47],"static":[49],"casts":[50],"null":[52],"pointer":[53],"references":[54],"that":[55],"difficult":[57],"debug.":[59],"In":[60],"article":[62],"we":[63],"propose":[64],"use":[66],"injection":[70,104],"design":[71],"pattern":[72],"safely":[74],"initialize":[75],"lessen":[79],"programmer's":[81],"role":[82],"in":[83],"handling":[84],"these":[85,95],"issues":[86],"both":[87],"during":[88],"prototyping":[90],"production":[92],"phases.":[93],"Since":[94],"dependencies":[96],"attributes":[98],"occurs":[105],"only":[106],"at":[107,116],"initialization":[109],"pass,":[110],"there":[111],"is":[112],"no":[113],"performance":[114],"penalty":[115],"loop.":[119]},"counts_by_year":[{"year":2022,"cited_by_count":1},{"year":2016,"cited_by_count":3},{"year":2015,"cited_by_count":1},{"year":2014,"cited_by_count":2},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":3}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
