Implementing design patterns as parametric aspects using ParaAJ: The case of the singleton, observer, and decorator design patterns
Implementation of a design pattern can take many forms according to the programming language being used. Most of the literature presents design patterns in their conventional object-oriented implementations. Several other studies show the implementation in aspect-oriented languages such as AspectJ,...
Saved in:
| Published in: | Computer languages, systems & structures Vol. 45; pp. 1 - 15 |
|---|---|
| Main Author: | |
| Format: | Journal Article |
| Language: | English |
| Published: |
Elsevier Ltd
01.04.2016
|
| Subjects: | |
| ISSN: | 1477-8424, 1873-6866 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Abstract | Implementation of a design pattern can take many forms according to the programming language being used. Most of the literature presents design patterns in their conventional object-oriented implementations. Several other studies show the implementation in aspect-oriented languages such as AspectJ, EOS, and Caesar. In this work, we compare the implementation of three design patterns: singleton, observer, and decorator design patterns in these languages and also discuss the possibility of implementing them in ParaAJ: an extension to the AspectJ language that implements the idea of parametric aspects. We found that ParaAJ helps in making the implementation of the singleton and observer patterns reusable but it fails to help in the decorator case. The problem with the decorator pattern exists because of the current translation mechanism of ParaAJ׳s aspects to normal AspectJ׳s aspects. This opens the door for further work in ParaAJ to better support the idea of parametric aspects.
•Implementation of design patterns depends on the language being used.•ParaAJ helps in creating reusable aspects.•Some design patterns can be implemented as reusable aspects in ParaAJ.•ParaAJ simplifies the reuse of design patterns to a single line of code. |
|---|---|
| AbstractList | Implementation of a design pattern can take many forms according to the programming language being used. Most of the literature presents design patterns in their conventional object-oriented implementations. Several other studies show the implementation in aspect-oriented languages such as AspectJ, EOS, and Caesar. In this work, we compare the implementation of three design patterns: singleton, observer, and decorator design patterns in these languages and also discuss the possibility of implementing them in ParaAJ: an extension to the AspectJ language that implements the idea of parametric aspects. We found that ParaAJ helps in making the implementation of the singleton and observer patterns reusable but it fails to help in the decorator case. The problem with the decorator pattern exists because of the current translation mechanism of ParaAJ super(3)s aspects to normal AspectJ super(3)s aspects. This opens the door for further work in ParaAJ to better support the idea of parametric aspects. Implementation of a design pattern can take many forms according to the programming language being used. Most of the literature presents design patterns in their conventional object-oriented implementations. Several other studies show the implementation in aspect-oriented languages such as AspectJ, EOS, and Caesar. In this work, we compare the implementation of three design patterns: singleton, observer, and decorator design patterns in these languages and also discuss the possibility of implementing them in ParaAJ: an extension to the AspectJ language that implements the idea of parametric aspects. We found that ParaAJ helps in making the implementation of the singleton and observer patterns reusable but it fails to help in the decorator case. The problem with the decorator pattern exists because of the current translation mechanism of ParaAJ׳s aspects to normal AspectJ׳s aspects. This opens the door for further work in ParaAJ to better support the idea of parametric aspects. •Implementation of design patterns depends on the language being used.•ParaAJ helps in creating reusable aspects.•Some design patterns can be implemented as reusable aspects in ParaAJ.•ParaAJ simplifies the reuse of design patterns to a single line of code. |
| Author | Aljasser, Khalid |
| Author_xml | – sequence: 1 givenname: Khalid surname: Aljasser fullname: Aljasser, Khalid email: aljasser@kfupm.edu.sa organization: Information and Computer Science Department, King Fahd University of Petroleum and Minerals, Dhahran, Saudi Arabia |
| BookMark | eNp9kDtP5TAQhS0EEs-e0uUWJNhO4jh0CLE8hAQF1JYzmYCvEjvYvkhb88fx1aVCWqo5oznfjOYckl3nHRJyylnJGZfnqxKmUjDelJyXjIkdcsBVWxVSSbmbdd22hapFvU8OY1xlA1N1c0A-7-Zlwhldsu6VDhjtq6OLSQmDi9TErIOZMQULuVsQUqTruPE-5cHl_QV9fkMKJiL1I01Zb4YTJu_OqO8jhg8MZ9S4IS8HH0zy4eeZY7I3miniyXc9Ii9_r5-vbouHx5u7q8uHAirZpaIVCMIoqETbdLJpuBA163tRgZK97JQasBkHYEyOHAdjagDBRd-Jjpmxa1l1RP5s9y7Bv68xJj3bCDhNxqFfR82VaOpWKdZlq9xaIfgYA44abDLJepeCsZPmTG9S1ysNk96krjnXOdQMsh_gEuxswr_fkIstgvn3D4tBR7DoAAcbct568Pb_8Bef95z0 |
| CitedBy_id | crossref_primary_10_1016_j_infsof_2023_107222 |
| Cites_doi | 10.1145/643603.643612 10.1145/940071.940111 10.1145/1772070.1772081 10.1007/BFb0053381 10.1145/643603.643610 10.1007/11821946_16 10.1145/1062455.1062483 10.1145/582435.582436 10.1145/643603.643613 10.1145/508397.508399 10.1007/11687061_5 10.1145/320385.320421 10.1145/949345.949349 10.1145/1134285.1134436 10.1145/1408647.1408653 |
| ContentType | Journal Article |
| Copyright | 2015 The Author |
| Copyright_xml | – notice: 2015 The Author |
| DBID | 6I. AAFTH AAYXX CITATION 7SC 8FD JQ2 L7M L~C L~D |
| DOI | 10.1016/j.cl.2015.11.002 |
| DatabaseName | ScienceDirect Open Access Titles Elsevier:ScienceDirect:Open Access CrossRef Computer and Information Systems Abstracts Technology Research Database ProQuest Computer Science Collection Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Academic Computer and Information Systems Abstracts Professional |
| DatabaseTitle | CrossRef Computer and Information Systems Abstracts Technology Research Database Computer and Information Systems Abstracts – Academic Advanced Technologies Database with Aerospace ProQuest Computer Science Collection Computer and Information Systems Abstracts Professional |
| DatabaseTitleList | Computer and Information Systems Abstracts |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISSN | 1873-6866 |
| EndPage | 15 |
| ExternalDocumentID | 10_1016_j_cl_2015_11_002 S1477842415000913 |
| GroupedDBID | --K --M .DC .~1 0R~ 1B1 1~. 1~5 29F 4.4 457 4G. 5VS 6I. 7-5 71M 8P~ AACTN AAEDT AAEDW AAFTH AAIKJ AAKOC AALRI AAOAW AAQFI AAXUO AAYFN ABBOA ABMAC ABXDB ABYKQ ACDAQ ACGFS ACNNM ACRLP ACZNC ADBBV ADEZE ADJOM ADMUD AEBSH AEKER AFKWA AFTJW AGHFR AGUBO AGYEJ AHZHX AIALX AIEXJ AIKHN AITUG AJBFU AJOXV ALMA_UNASSIGNED_HOLDINGS AMFUW AMRAJ AOUOD AXJTR BKOJK BLXMC EBS EFJIC EJD EO8 EO9 EP2 EP3 FDB FEDTE FIRID FNPLU FYGXN G-Q GBLVA GBOLZ HVGLF HZ~ IHE J1W KOM M41 MO0 N9A O-L O9- OAUVE OZT P-8 P-9 PC. Q38 RIG ROL RPZ SDF SDG SDP SES SEW SPC SSV SSZ T5K TN5 XFK YYM ~G- 9DU AATTM AAXKI AAYWO AAYXX ABWVN ACLOT ACRPL ACVFH ADCNI ADNMO AEIPS AEUPX AFPUW AIGII AIIUN AKBMS AKRWK AKYEP ANKPU CITATION EFKBS ~HD 7SC 8FD JQ2 L7M L~C L~D |
| ID | FETCH-LOGICAL-c369t-72ec2a8c3275965512240bb23c86b6988de5fdc006f1edaa4cc212b9290af9703 |
| ISICitedReferencesCount | 7 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000378461300001&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 1477-8424 |
| IngestDate | Sat Sep 27 21:06:42 EDT 2025 Tue Nov 18 22:28:08 EST 2025 Sat Nov 29 01:36:51 EST 2025 Fri Feb 23 02:17:32 EST 2024 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Keywords | Parametric aspects Design patterns Reusability ParaAJ |
| Language | English |
| License | http://creativecommons.org/licenses/by-nc-nd/4.0 |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-c369t-72ec2a8c3275965512240bb23c86b6988de5fdc006f1edaa4cc212b9290af9703 |
| Notes | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 23 |
| OpenAccessLink | https://dx.doi.org/10.1016/j.cl.2015.11.002 |
| PQID | 1825478809 |
| PQPubID | 23500 |
| PageCount | 15 |
| ParticipantIDs | proquest_miscellaneous_1825478809 crossref_citationtrail_10_1016_j_cl_2015_11_002 crossref_primary_10_1016_j_cl_2015_11_002 elsevier_sciencedirect_doi_10_1016_j_cl_2015_11_002 |
| PublicationCentury | 2000 |
| PublicationDate | April 2016 2016-04-00 20160401 |
| PublicationDateYYYYMMDD | 2016-04-01 |
| PublicationDate_xml | – month: 04 year: 2016 text: April 2016 |
| PublicationDecade | 2010 |
| PublicationTitle | Computer languages, systems & structures |
| PublicationYear | 2016 |
| Publisher | Elsevier Ltd |
| Publisher_xml | – name: Elsevier Ltd |
| References | Hannemann Jan, Kiczales Gregor. Design pattern implementation in Java and AspectJ. In: OOPSLA ׳02: Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications. New York, NY, USA: ACM Press; 2002. p. 161–73. ISBN 1-58113-471-1. Gybels Kris, Brichau Johan. Arranging language features for more robust pattern-based crosscuts. In: Proceedings of the 2nd international conference on aspect-oriented software development, AOSD ’03, New York, NY, USA: ACM; 2003. p. 60–9. ISBN 1-58113-660-9. Denier Simon, Cointe Pierre. Understanding design patterns density with aspects: a case study in JHotDraw using AspectJ. In: Software composition. Lecture notes in computer science, vol. 4089. Berlin, Heidelberg: Springer; 2006. p. 243–58. ISBN 978-3-540-37657-6. Burgstaller Rainer, Fritz Thomas, Wuchner Egon. Hot-deployment of aspects. In: DAW: dynamic aspects workshop. #March# 2004. p. 9–22. Stein Dominik, Hanenberg Stefan, Unland Rainer. An UML-based aspect-oriented design notation. In: Kiczales Gregor, editor. Proceedings of the 1st international conference on aspect-oriented software development (AOSD-2002). New York, NY, USA: ACM Press. #April# 2002. p. 106–12. URL Aljasser Khalid, Schachte Peter. ParaAJ: toward reusable and maintainable aspect oriented programs. In: ACSC ׳09: Proceedings of the thirty-second australasian computer science conference, 2009. ISBN 0-7695-2778-7. Scala. The Scala programming language. URL Kersten, Murphy (bib6) 1999; 34 Kiczales Gregor, Lamping John, Menhdhekar Anurag, Maeda Chris, Lopes Cristina, Loingtier Jean-Marc, et al. Aspect-oriented programming. In: Akşit Mehmet, Matsuoka Satoshi, editors. Proceedings European conference on object-oriented programming, vol. 1241. Berlin, Heidelberg, New York: Springer-Verlag; 1997. p. 220–42. doi Odersky Martin, Altherr Philippe, Cremet Vincent, Emir Burak, Maneth Sebastian, Micheloud Stéphane, et al. An overview of the Scala programming language. Technical Report 64. Lausanne, Switzerland: École Polytechnique Fédérale de Lausanne; 2004. Rajan Hridesh, Sullivan Kevin. Eos: instance-level aspects for integrated system design. In: Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on foundations of software engineering. ESEC/FSE-11. New York, NY, USA: ACM; 2003. p. 297–306. ISBN 1-58113-743-5. Zook David, Huang Shan Shan, Smaragdakis Yannis. Generating AspectJ programs with Meta-AspectJ. In: Karsai Gabor, Visser Eelco, editors. Proceedings of the generative programming and component engineering: third international conference, Springer-Verlag Lecture notes in computer science, vol. 3286. Springer, #October# 2004. p. 1–18. ISBN 3-540-23580-9. Aracic, Gasiunas, Mezini, Ostermann (bib23) 2006; 3880 Sousa Edgar, Monteiro MP. An exploratory study of caesarj based on implementations of the gang-of-four patterns. Technical Report FCT-UNL-DI-SWE-2008-01. New University of Lisbon; 2008. Hanenberg Stefan, Unland Rainer. Parametric introductions. In: AOSD ׳03: Proceedings of the 2nd international conference on aspect-oriented software development. New York, NY, USA: ACM Press; 2003. p. 80–9. ISBN 1-58113-660-9. Hanenberg Stefan, Schmidmeier Arno. Idioms for building software frameworks in AspectJ. In: Coady Yvonne, Eide Eric, Lorenz David H, editors. The second AOSD workshop on aspects, components, and patterns for infrastructure software (ACP4IS), #March# 2003. Sousa Edgar, Monteiro Miguel P. Implementing design patterns in CaesarJ: an exploratory study. In: Proceedings of the 2008 AOSD workshop on software engineering properties of languages and aspect technologies, SPLAT’08, New York, NY, USA: ACM; 2008. p. 6:1–6:6. ISBN 978-1-60558-144-6. Monteiro Miguel Pessoa, Fernandes Joao Miguel. Pitfalls of AspectJ implementations of some of the gang-of-four design patterns. In: Fuentes Lidia, Moreira Ana, Murillo Juan Manuel, editors. Iberian workshop on aspect oriented software development (DSOA04), #November# 2004. URL Gamma Erich, Helm Richard, Johnson Ralph, Vlissides John. Design patterns—elements of reusable object-oriented software. Addison-Wesley professional computing series. Wokingham, Reading, Menlo Park, New York-Don Mills, Amsterdam, Bonn, Sydney, Singapore, Tokyo, Madrid, San Juan, Milan, Paris, Mexico City, Seoul-Taipei: Addison-Wesley Publishing Company; 1995. . Mezini Mira, Ostermann Klaus. Conquering aspects with Caesar. In: Proceedings of the 2nd international conference on aspect-oriented software development, AOSD ׳03. New York, NY, USA: ACM; 2003. p. 90–9. ISBN 1-58113-660-9. Buschmann Frank, Meunier Regine, Rohnert Hans, Sommerlad Peter, Stal Michael. Pattern-oriented software architecture: a system of patterns, vol. 1. West Sussex, England: Wiley; 1996. Rajan Hridesh. Design pattern implementations in eos. In: Proceedings of the 14th conference on pattern languages of programs, PLOP ׳07, New York, NY, USA: ACM; 2007. p. 9:1–11. ISBN 978-1-60558-411-9. Huang Shan Shan, Smaragdakis Yannis. Easy language extension with Meta-AspectJ. In: ICSE ׳06: Proceedings of the 28th international conference on software engineering. New York, NY, USA: ACM; 2006. p. 865–8. ISBN 1-59593-375-1. Hanenberg Stefan, Unland Rainer. AspectJ idioms for aspect-oriented software construction. In: 8th European conference on pattern languages of programs (EuroPLoP), Irsee, Germany 2003, 2003. Rajan H, Sullivan KJ. Classpects in practice: a test of the unified aspect model. Technical report, Citeseer, 2005. Shonle Macneil, Lieberherr Karl, Shah Ankit. XAspects: an extensible system for domain-specific aspect languages. In: Companion of the 18th annual ACM SIGPLAN conference on object-oriented programming, systems, languages, and applications. ACM Press; 2003. p. 28–37. ISBN 1-58113-751-6. [accessed on 3/2014]. Dijkstra (bib10) 1976 10.1016/j.cl.2015.11.002_bib3 10.1016/j.cl.2015.11.002_bib4 10.1016/j.cl.2015.11.002_bib5 10.1016/j.cl.2015.11.002_bib1 10.1016/j.cl.2015.11.002_bib2 10.1016/j.cl.2015.11.002_bib18 10.1016/j.cl.2015.11.002_bib19 10.1016/j.cl.2015.11.002_bib16 10.1016/j.cl.2015.11.002_bib17 10.1016/j.cl.2015.11.002_bib7 10.1016/j.cl.2015.11.002_bib14 10.1016/j.cl.2015.11.002_bib8 10.1016/j.cl.2015.11.002_bib15 10.1016/j.cl.2015.11.002_bib9 10.1016/j.cl.2015.11.002_bib12 10.1016/j.cl.2015.11.002_bib13 10.1016/j.cl.2015.11.002_bib11 Kersten (10.1016/j.cl.2015.11.002_bib6) 1999; 34 Aracic (10.1016/j.cl.2015.11.002_bib23) 2006; 3880 10.1016/j.cl.2015.11.002_bib27 10.1016/j.cl.2015.11.002_bib28 10.1016/j.cl.2015.11.002_bib25 10.1016/j.cl.2015.11.002_bib26 10.1016/j.cl.2015.11.002_bib24 10.1016/j.cl.2015.11.002_bib21 10.1016/j.cl.2015.11.002_bib22 Dijkstra (10.1016/j.cl.2015.11.002_bib10) 1976 10.1016/j.cl.2015.11.002_bib20 |
| References_xml | – reference: Aljasser Khalid, Schachte Peter. ParaAJ: toward reusable and maintainable aspect oriented programs. In: ACSC ׳09: Proceedings of the thirty-second australasian computer science conference, 2009. ISBN 0-7695-2778-7. – reference: Scala. The Scala programming language. URL 〈 – reference: Sousa Edgar, Monteiro MP. An exploratory study of caesarj based on implementations of the gang-of-four patterns. Technical Report FCT-UNL-DI-SWE-2008-01. New University of Lisbon; 2008. – volume: 34 start-page: 340 year: 1999 end-page: 352 ident: bib6 article-title: Atlas publication-title: ACM SIGPLAN Not. – reference: Buschmann Frank, Meunier Regine, Rohnert Hans, Sommerlad Peter, Stal Michael. Pattern-oriented software architecture: a system of patterns, vol. 1. West Sussex, England: Wiley; 1996. – reference: Hanenberg Stefan, Unland Rainer. AspectJ idioms for aspect-oriented software construction. In: 8th European conference on pattern languages of programs (EuroPLoP), Irsee, Germany 2003, 2003. – reference: Burgstaller Rainer, Fritz Thomas, Wuchner Egon. Hot-deployment of aspects. In: DAW: dynamic aspects workshop. #March# 2004. p. 9–22. – reference: Denier Simon, Cointe Pierre. Understanding design patterns density with aspects: a case study in JHotDraw using AspectJ. In: Software composition. Lecture notes in computer science, vol. 4089. Berlin, Heidelberg: Springer; 2006. p. 243–58. ISBN 978-3-540-37657-6. – reference: 〉. [accessed on 3/2014]. – reference: . URL – reference: Stein Dominik, Hanenberg Stefan, Unland Rainer. An UML-based aspect-oriented design notation. In: Kiczales Gregor, editor. Proceedings of the 1st international conference on aspect-oriented software development (AOSD-2002). New York, NY, USA: ACM Press. #April# 2002. p. 106–12. – reference: Huang Shan Shan, Smaragdakis Yannis. Easy language extension with Meta-AspectJ. In: ICSE ׳06: Proceedings of the 28th international conference on software engineering. New York, NY, USA: ACM; 2006. p. 865–8. ISBN 1-59593-375-1. – reference: Odersky Martin, Altherr Philippe, Cremet Vincent, Emir Burak, Maneth Sebastian, Micheloud Stéphane, et al. An overview of the Scala programming language. Technical Report 64. Lausanne, Switzerland: École Polytechnique Fédérale de Lausanne; 2004. – reference: Sousa Edgar, Monteiro Miguel P. Implementing design patterns in CaesarJ: an exploratory study. In: Proceedings of the 2008 AOSD workshop on software engineering properties of languages and aspect technologies, SPLAT’08, New York, NY, USA: ACM; 2008. p. 6:1–6:6. ISBN 978-1-60558-144-6. – reference: Gybels Kris, Brichau Johan. Arranging language features for more robust pattern-based crosscuts. In: Proceedings of the 2nd international conference on aspect-oriented software development, AOSD ’03, New York, NY, USA: ACM; 2003. p. 60–9. ISBN 1-58113-660-9. – volume: 3880 start-page: 135 year: 2006 end-page: 173 ident: bib23 article-title: An overview of CaesarJ publication-title: Trans Aspect-Oriented Softw Dev – reference: Kiczales Gregor, Lamping John, Menhdhekar Anurag, Maeda Chris, Lopes Cristina, Loingtier Jean-Marc, et al. Aspect-oriented programming. In: Akşit Mehmet, Matsuoka Satoshi, editors. Proceedings European conference on object-oriented programming, vol. 1241. Berlin, Heidelberg, New York: Springer-Verlag; 1997. p. 220–42. doi: – reference: 〉. – reference: Hannemann Jan, Kiczales Gregor. Design pattern implementation in Java and AspectJ. In: OOPSLA ׳02: Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications. New York, NY, USA: ACM Press; 2002. p. 161–73. ISBN 1-58113-471-1. – reference: Zook David, Huang Shan Shan, Smaragdakis Yannis. Generating AspectJ programs with Meta-AspectJ. In: Karsai Gabor, Visser Eelco, editors. Proceedings of the generative programming and component engineering: third international conference, Springer-Verlag Lecture notes in computer science, vol. 3286. Springer, #October# 2004. p. 1–18. ISBN 3-540-23580-9. – reference: Shonle Macneil, Lieberherr Karl, Shah Ankit. XAspects: an extensible system for domain-specific aspect languages. In: Companion of the 18th annual ACM SIGPLAN conference on object-oriented programming, systems, languages, and applications. ACM Press; 2003. p. 28–37. ISBN 1-58113-751-6. – reference: Hanenberg Stefan, Unland Rainer. Parametric introductions. In: AOSD ׳03: Proceedings of the 2nd international conference on aspect-oriented software development. New York, NY, USA: ACM Press; 2003. p. 80–9. ISBN 1-58113-660-9. – year: 1976 ident: bib10 article-title: A discipline of programming – reference: Rajan Hridesh, Sullivan Kevin. Eos: instance-level aspects for integrated system design. In: Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on foundations of software engineering. ESEC/FSE-11. New York, NY, USA: ACM; 2003. p. 297–306. ISBN 1-58113-743-5. – reference: Rajan Hridesh. Design pattern implementations in eos. In: Proceedings of the 14th conference on pattern languages of programs, PLOP ׳07, New York, NY, USA: ACM; 2007. p. 9:1–11. ISBN 978-1-60558-411-9. – reference: . – reference: Gamma Erich, Helm Richard, Johnson Ralph, Vlissides John. Design patterns—elements of reusable object-oriented software. Addison-Wesley professional computing series. Wokingham, Reading, Menlo Park, New York-Don Mills, Amsterdam, Bonn, Sydney, Singapore, Tokyo, Madrid, San Juan, Milan, Paris, Mexico City, Seoul-Taipei: Addison-Wesley Publishing Company; 1995. – reference: Hanenberg Stefan, Schmidmeier Arno. Idioms for building software frameworks in AspectJ. In: Coady Yvonne, Eide Eric, Lorenz David H, editors. The second AOSD workshop on aspects, components, and patterns for infrastructure software (ACP4IS), #March# 2003. – reference: Monteiro Miguel Pessoa, Fernandes Joao Miguel. Pitfalls of AspectJ implementations of some of the gang-of-four design patterns. In: Fuentes Lidia, Moreira Ana, Murillo Juan Manuel, editors. Iberian workshop on aspect oriented software development (DSOA04), #November# 2004. URL 〈 – reference: Mezini Mira, Ostermann Klaus. Conquering aspects with Caesar. In: Proceedings of the 2nd international conference on aspect-oriented software development, AOSD ׳03. New York, NY, USA: ACM; 2003. p. 90–9. ISBN 1-58113-660-9. – reference: Rajan H, Sullivan KJ. Classpects in practice: a test of the unified aspect model. Technical report, Citeseer, 2005. – ident: 10.1016/j.cl.2015.11.002_bib9 doi: 10.1145/643603.643612 – ident: 10.1016/j.cl.2015.11.002_bib17 doi: 10.1145/940071.940111 – ident: 10.1016/j.cl.2015.11.002_bib19 doi: 10.1145/1772070.1772081 – ident: 10.1016/j.cl.2015.11.002_bib3 doi: 10.1007/BFb0053381 – ident: 10.1016/j.cl.2015.11.002_bib15 doi: 10.1145/643603.643610 – ident: 10.1016/j.cl.2015.11.002_bib24 – ident: 10.1016/j.cl.2015.11.002_bib2 doi: 10.1007/11821946_16 – ident: 10.1016/j.cl.2015.11.002_bib22 – ident: 10.1016/j.cl.2015.11.002_bib18 doi: 10.1145/1062455.1062483 – ident: 10.1016/j.cl.2015.11.002_bib26 – ident: 10.1016/j.cl.2015.11.002_bib4 doi: 10.1145/582435.582436 – ident: 10.1016/j.cl.2015.11.002_bib5 – ident: 10.1016/j.cl.2015.11.002_bib7 – ident: 10.1016/j.cl.2015.11.002_bib14 doi: 10.1145/643603.643610 – ident: 10.1016/j.cl.2015.11.002_bib1 – ident: 10.1016/j.cl.2015.11.002_bib13 – ident: 10.1016/j.cl.2015.11.002_bib11 – ident: 10.1016/j.cl.2015.11.002_bib20 doi: 10.1145/643603.643613 – ident: 10.1016/j.cl.2015.11.002_bib16 doi: 10.1145/508397.508399 – volume: 3880 start-page: 135 year: 2006 ident: 10.1016/j.cl.2015.11.002_bib23 article-title: An overview of CaesarJ publication-title: Trans Aspect-Oriented Softw Dev doi: 10.1007/11687061_5 – volume: 34 start-page: 340 issue: 10 year: 1999 ident: 10.1016/j.cl.2015.11.002_bib6 article-title: Atlas publication-title: ACM SIGPLAN Not. doi: 10.1145/320385.320421 – year: 1976 ident: 10.1016/j.cl.2015.11.002_bib10 – ident: 10.1016/j.cl.2015.11.002_bib28 doi: 10.1145/949345.949349 – ident: 10.1016/j.cl.2015.11.002_bib27 doi: 10.1145/1134285.1134436 – ident: 10.1016/j.cl.2015.11.002_bib25 – ident: 10.1016/j.cl.2015.11.002_bib8 – ident: 10.1016/j.cl.2015.11.002_bib21 doi: 10.1145/1408647.1408653 – ident: 10.1016/j.cl.2015.11.002_bib12 |
| SSID | ssj0020845 |
| Score | 2.041314 |
| Snippet | Implementation of a design pattern can take many forms according to the programming language being used. Most of the literature presents design patterns in... |
| SourceID | proquest crossref elsevier |
| SourceType | Aggregation Database Enrichment Source Index Database Publisher |
| StartPage | 1 |
| SubjectTerms | Decoration Design engineering Design patterns Languages Object oriented Object-oriented programming ParaAJ Parametric aspects Programming languages Reusability Reusable Translations |
| Title | Implementing design patterns as parametric aspects using ParaAJ: The case of the singleton, observer, and decorator design patterns |
| URI | https://dx.doi.org/10.1016/j.cl.2015.11.002 https://www.proquest.com/docview/1825478809 |
| Volume | 45 |
| WOSCitedRecordID | wos000378461300001&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVESC databaseName: Elsevier SD Freedom Collection Journals 2021 customDbUrl: eissn: 1873-6866 dateEnd: 20181231 omitProxy: false ssIdentifier: ssj0020845 issn: 1477-8424 databaseCode: AIEXJ dateStart: 20020401 isFulltext: true titleUrlDefault: https://www.sciencedirect.com providerName: Elsevier |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1Jb9NAFB5ByoELO6JsGiR6QNQl3j3cIkgEVRR6SKXcRp4NiIIT6gb1zh_nvRmPbYKoyoGLlXjJRPN9fvO2eY-QlywWxpQ5C0xksiDROgwKmZsgk0NmtIxlLGx1_Wk-mxWLBTtpQjG1bSeQV1VxccE2_xVqOAdg49bZf4C7_VE4AZ8BdDgC7HC8EvC23q9NAqo-v1Y2QQOrp6Ljr8auMljs-xv20ZLwbWOTObbWYXACF0bHPg1DlnWbQICXAV8XoF8LdOR2eZ8KDVg03XcH6-u9vnlE6x-19HFlpGtLP1fIdnvW5TSOVssSkwWsLPoC9oLquyjCrJfZ4qRqksNSmLjN0l7sJmlPboa9Bdht7_xDtDsvw_JIYsAoTI-w9uow6pYxH7qffeKT0-mUz8eL-UE82XwPsMUYhuIP4vcO7utkL8pTVgzI3ujjeHHcWujDwna1bv9vE9d2CYG_D_w3PWZnRbdqyvwOudXYF3TkeHGXXNPVPXLbTz9tRPl98rNPE-qQox45Wta0owltaEItTaijyVsKJKFIEro2FEhCW5IcUk-RQwoEoS1Bdod5QE4n4_m7D0HTkCOQccbOgzzSMioLGePsZaBroz4oRBTLIhMZKwqlU6MkCHITalWWiZSgGQnQwIelYbC2PCSDal3pR4QagcZwloosUYmER5NUSaVyAfarAr1yn7zx08tlU60em6asuE9LXHK54ggIGLEcANknr9onNq5SyyX3xh4x3miaToPkwLZLnnrhweUghDGyVlZ6va15iH6WHJZC9vgK9zwhN7u35CkZwPuln5Eb8sf51_rsecPJX4vZrZ8 |
| linkProvider | Elsevier |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Implementing+design+patterns+as+parametric+aspects+using+ParaAJ%3A+The+case+of+the+singleton%2C+observer%2C+and+decorator+design+patterns&rft.jtitle=Computer+languages%2C+systems+%26+structures&rft.au=Aljasser%2C+Khalid&rft.date=2016-04-01&rft.issn=1477-8424&rft.volume=45&rft.spage=1&rft.epage=15&rft_id=info:doi/10.1016%2Fj.cl.2015.11.002&rft.externalDBID=NO_FULL_TEXT |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1477-8424&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1477-8424&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1477-8424&client=summon |