140,840 research outputs found

    Aspect oriented implementation of design patterns using metadata

    Get PDF
    Computer programming paradigms aim to provide better separation of concerns. Aspect oriented programming extends object oriented programming by managing crosscutting concerns using aspects. Two of the most important critics of aspect oriented programming are the “tyranny of the dominant signature” and lack of visibility of program's flow. Metadata, in form of Java annotations, is a solution to both problems. Design patterns are assumed as the general solutions for Object-Oriented matters. They assist in software complexity management and serve as a bridge among software designers as well. These properties have led the patterns to be introduced as a choice in order to prove new technologies. Successful implementations share a generic solution: the usage of annotation to configure and mark the participants, while the pattern's code is encapsulated in aspects. This loses the coupling between aspects and type signatures and between the code base and a specific AOP framework. Also, it increases the developer's awareness of the program's flow. In the present article, aspect oriented programming and design patterns are introduced and also taking the benefit of annotation equipment in java language is proposed as a solution to reduce tight coupling and increase program flow observation rate for aspect oriented programming. Keywords: aspect oriented programming, design patterns, object oriented programming, metadata

    Assessing design patterns for concurrency

    Get PDF
    Design patterns are language-independent software-engineering techniques for solving recurring problems within a particular problem-context. Despite their generality, they have been primarily adopted by, and for the most part developed within, the object-oriented community. As a result, some pattern definitions are sometimes expressed with objects-oriented machinery in mind such as classes and inheritance. We test the paradigm independence of these design patterns and investigate the viability of adopting existing patterns from the object-oriented paradigm to the message-passing concurrency setting. By porting these techniques to the new programming paradigm, we expect to inherit the benefits associated with these design patterns. We achieve these goals by implementing a suite of design patterns as reusable modules in Erlang, an industry-strength message-passing language for programming concurrent distributed systems.peer-reviewe

    Object Oriented Computing

    Get PDF
    In this contribution, the basic overview of the Object Oriented Programming and its usage in computation is given. Concepts of class, encapsulation, inheritance, and polymorphism are introduced. Some additional concepts like interface and Design Patterns are briefly discussed. Schematic examples in C++ are given. --

    Exploring design patterns with the Java programming language

    Get PDF
    This project describes and discusses the concepts of design patterns giving a historical background as well as citing contributions to the software development field and current research efforts. In addition, the advantages and disadvantages of using design patterns and efforts to encourage design pattern usage in software organizations are discussed. Seven design patterns (Builder, Adapter, Composite, Template Method, Facade, Mediator and Strategy) were chosen as the basis for example concrete applications. The concrete applications are given in the form of design documentation, source code and executable software. The applications demonstrate the use of design patterns in developing object oriented software applications. The applications are implemented in the Java programming language. The Java programming language was used because it is a popular object oriented programming language. An aspect of its popularity comes from its ability to execute with Java enabled browsers on a variety of computing platforms. Noted researchers in the area of design patterns assert that design patterns are language independent, however, much of the implementation in the area of design patterns has been written in the C++ language. The contribution of this project lies in implementing selected design patterns in Java and noting experiences that support or refute the conjecture that design patterns are language independent

    Design patterns and pspects : modular designs with seamless run-time integration

    Get PDF
    Some solutions proposed in the original design pattern literature were shaped by techniques as well as language deficiencies from object-oriented software development. However, new modularity constructs, composition and transformation mechanisms offered by aspect-oriented programming address deficiencies of object-oriented modeling. This suggests classical design pattern solutions to be revisited. In our paper we point out that aspect-oriented programming not only allows for alternative representations of proposed solutions, but also for better solutions in the first place. We advocate a native aspect-oriented approach to design patterns that emphasizes on improving design pattern solutions both during development and at run-time. We use a simple yet effective method to analyze and describe different solutions on the basis of variation points, fixed parts, variable parts, and optional glue, employing dynamic run-time weaving

    Learning Research Informed Design and Evaluation of a Web-enhanced Object Oriented Programming Seminar

    Get PDF
    Object-Oriented Programming subject is included in the ACM Curriculum Guidelines for Undergraduate and Graduate Degree Programs in Computer Science as well as in Curriculum for K-12 Computer Science. In a few research studies learning problems and difficulties have been recorded, and therefore, specific pedagogical guidelines and educational tools have been proposed which aim at better supporting the instructional process of Object-Oriented Programming. This paper presents an empirical pilot study of a seminar related to the basic principles-concepts of Object-Oriented Programming. The seminar was at undergraduate educational level using the Java language and web technologies. Its instructional approach was based on selected best instructional practices (either in the form of guidelines or design patterns) already published in the literature. The fundamental aim of the present study was to investigate the factors that might affect the learning effectiveness of a web-enhanced instructional process of the Object-Oriented Programming subject

    Improving the Design and Implementation of Software Systems uses Aspect Oriented Programming

    Get PDF
    A design pattern is used as a static reusable component of object oriented design in the many patterns catalogue. The regular design pattern does not show any collaboration of shared resource between patterns in the software design. But generative design pattern is a new design pattern that shows the relationship and shared resources between them. The generative design pattern is considered a dynamic and active design, which creating new design as a result of collaboration and resource usage between two designs. This paper will demonstrate benefit and the structure of generative pattern. It also demonstrates the creation of a desktop application for modeling generative design pattern. The Java language creates the desktop application. The application provides many features, for instance, users can place drawing objects such as class, Interface and Abstract Class object. The users also can draw different connection line between these objects, such as simple, inheritance, composition lines. This project shows the implementation details techniques of drawing objects and their connection. It also provides an open source code that many novice developers can understand and analysis for further development. The application source code gives the developers new ideas and skills in object oriented programming and graphical user interface in Java language

    A Framework Based on Design Patterns for Providing Persistence in Object-Oriented Programming Languages

    Get PDF
    This paper describes an approach to providing object persistence in object-oriented programming languages without modifying the run-time system or the language itself. By successively applying design patterns such as the Serializer, Factory Method, and Strategy patterns we develop an object-oriented framework for providing object persistence. The advantages of object-orientation are highlighted: structured classification through class-hierarchies, extensibility and promotion of reuse. The framework clearly separates persistence control from storage control. A hierarchy of different storage types, useful in different application domains, is introduced. The framework does not rely on any kind of special programming language features. It only uses basic object-oriented programming techniques, and is therefore implementable in any object-oriented programming language. An experimental implementation in Ada 95 is presented

    New Computer Science Course Fall 2014 CS 4995: Special Topics: Object-Oriented Languages (2014)

    Get PDF
    Course Description: Examines advanced concepts regarding handling of types, encapsulation, polymorphism, inheritance, and functional programming in modern object-oriented languages. Includes programming with new language features in Java 8 and an introduction to the Scala programming language. This course will also cover some design patterns that are being incorporated into the design of modern object-oriented languages.New Computer Science Course Fall 2014 CS 4995: Special Topics: Object-Oriented Languages. Instructor Dr. Gary Shute.UMD Computer Science Department
    • 

    corecore