Java extensions for design pattern Instantiation

dc.contributor.advisorSantos, André Leal
dc.contributor.authorCoelho, Duarte Gonçalo dos Santos Bettencourt
dc.date.accessioned2016-04-20T15:57:50Z
dc.date.available2016-04-20T15:57:50Z
dc.date.issued2015
dc.date.submitted2015-09por
dc.description.abstractDesign patterns instances may require a lot of effort to be located and managed when they are in the form of source code, due to the lack of support provided by the programming languages. In this dissertation we provide a set of high-level primitives that address the main features of certain design pattern, supporting their implementation, and offering a way to be represented in Java through code annotations. We developed proof of concept extensions that address some of the widely used design patterns in object oriented programming, namely Singleton, Decorator, Flyweight, Visitor, Composite and Observer patterns. Through the course of this dissertation, we demonstrate that is possible to support design pattern implementation through code generation without sacrificing much flexibility. The proposed Java extensions are evaluated by refactoring existing classes from the Java SDK and the case study framework JHotDrawpor
dc.description.abstractOs padrões de desenho são dificeis de encontrar num projecto, devido a falta apoio da linguagem de programação onde foram instanciados. Desenvolvemos um conjunto de primitivas de alto nivel que suportam a implementação dos padrões de desenho, auxiliando a representação dos seus elementos na linguagem Java. Estas primitivas abordam os padrões de desenho mais utilizados em linguagens orientadas a objectos, nomeadamente o Singleton, o Decorator, o Flyweight, o Visitor, o Composite e o Observer. Durante o percurso desta dissertação, iremos demonstrar que é possivel auxiliar a implementação de padrões de desenho através de geração de código, sem limitar os contextos onde pode ser integrado. As extensões propostas são avaliadas pela substituição de instancias de padrões de desenhos presentes nem classes do Java SDK e da plataforma JHotDraw.por
dc.identifier.citationCOELHO, Duarte Gonçalo dos Santos Bettencourt - Java extensions for design pattern instantiation [Em linha]. Lisboa: ISCTE-IUL, 2015. Dissertação de mestrado. [Consult. Dia Mês Ano] Disponível em www:<http://hdl.handle.net/10071/11218>.pt-PT
dc.identifier.tid201133920
dc.identifier.urihttp://hdl.handle.net/10071/11218
dc.language.isoengpor
dc.peerreviewedyespor
dc.rightsrestricted accesspor
dc.subjectDesign patternspor
dc.subjectLanguage constructspor
dc.subjectAnnotationspor
dc.subjectAbstract syntax transformationspor
dc.subjectSource code generationpor
dc.subjectJava extensionspor
dc.subjectPadrões de desenhopor
dc.subjectExtensões para Javapor
dc.subjectAnotaçãopor
dc.subjectTransformações na abstract syntax treepor
dc.titleJava extensions for design pattern Instantiationpor
dc.typemasterThesispor
dspace.entity.typePublicationen
thesis.degree.nameMestrado em Engenharia Informática

Ficheiros