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,...

Full description

Saved in:
Bibliographic Details
Published in:Computer languages, systems & structures Vol. 45; pp. 1 - 15
Main Author: Aljasser, Khalid
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