ATENÇÃO: Esta página foi traduzida automaticamente pelo Google Translate. Isto pode ter consequências inesperadas no conteúdo apresentado e, portanto, não nos responsabilizamos pelo resultado dessa tradução automática.


ATTENTION: this page has been automatically translated by Google Translate. This can have unexpected consequences and, therefore, we do not take responsibility for the result of that automatic translation.

menu
EN
menu
close
Mestrado • Mestrado em Engenharia Informática

Java extensions for design pattern Instantiation

Autor
Coelho, Duarte Gonçalo dos Santos Bettencourt
Data de publicação
20 Apr 2016
Acesso
Acesso restrito
Palavras-chave
Padrões de desenho
Design Patterns
Language constructs
Annotations
Abstract syntax transformations
Source code generation
Java extensions
Extensões para Java
Anotação
Transformações na abstract syntax tree
Resumo
PT
Os 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.
EN
Design 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 JHotDraw

Relacionadas