A case of Visitor versus Interpreter pattern

M. Hills, P. Klint, T. Storm, van der, J.J. Vinju

    Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

    14 Citations (Scopus)
    2 Downloads (Pure)

    Abstract

    We compare the Visitor pattern with the Interpreter pattern, investigating a single case in point for the Java language. We have produced and compared two versions of an interpreter for a programming language. The first version makes use of the Visitor pattern. The second version was obtained by using an automated refactoring to transform uses of the Visitor pattern to uses of the Interpreter pattern. We compare these two nearly equivalent versions on their maintenance characteristics and execution efficiency. Using a tailored experimental research method we can highlight differences and the causes thereof. The contributions of this paper are that it isolates the choice between Visitor and Interpreter in a realistic software project and makes the difference experimentally observable.
    Original languageEnglish
    Title of host publicationProceedings of the 49th International Conference on Objects, Models, Components, Patterns, TOOLS 2011, June 28-30, 2011. Zurich, Switzerland
    EditorsJ. Bishop, A. Vallecillo
    Place of PublicationBerlin
    PublisherSpringer
    Pages228-243
    ISBN (Print)978-3-642-21951-1
    DOIs
    Publication statusPublished - 2011
    Eventconference; 49th International Conference on Objects, Models, Components, Patterns; 2011-06-28; 2011-06-30 -
    Duration: 28 Jun 201130 Jun 2011

    Publication series

    NameLecture Notes in Computer Science
    Volume6705
    ISSN (Print)0302-9743

    Conference

    Conferenceconference; 49th International Conference on Objects, Models, Components, Patterns; 2011-06-28; 2011-06-30
    Period28/06/1130/06/11
    Other49th International Conference on Objects, Models, Components, Patterns

    Fingerprint

    Dive into the research topics of 'A case of Visitor versus Interpreter pattern'. Together they form a unique fingerprint.

    Cite this