2003KTH Publication Database DiVA (KTH Royal Institute of Technology)Open access

Design patterns in practice

Ingemar Jacobsson

Open full text 0 citations

Abstract

Design Patterns capture solutions in object-oriented programming that have developed and evolved over time. One of the main reasons that computer science researchers began to recognize design patterns is to satisfy this need for elegant, but simple, reusable solutions. In fact, design patterns are a body of literature that forms a language for conveying the structures and mechanisms of object-oriented architectures and allows us to intelligibly reason about the resulting composition and applications. Design Patterns are a common way to organize objects and the collaborations between objects in object-oriented programs to make those programs easier to reuse and maintain. This formation of a common language between practitioners in object-oriented program is vital for software engineering as a scientific discipline. The vocabulary and strategies of object-oriented programming such as abstraction, separation, composition and generalization needs a common language to relate these concepts together. Software engineering, which comprises object-oriented programming, is a relatively young scientific discipline, still struggling to find a shared language that enables an effortless communication between practitioners. Design Patterns satisfies these objectives and help software developers resolve and discuss recurring object-oriented problems encountered throughout all the software development process. This thesis demonstrates that Design Patterns has the potential to form a shared language for communicating experience and findings about these problems and their solutions. Codifying these solutions and their collaborations enables object-oriented programmers to achieve sound engineering architecture and design. Design Patterns therefore constitutes a solid foundation and a language to describe good designs and capture experience, in resolving recurring problems in objectoriented programming. This accumulated experience, when codified, facilitates practitioners in objectoriented programming to reuse this solid experience. The aim of this thesis work is to evaluate the concept of Design Patterns, in terms of the resulting degree of reusability and maintainability of an experimental application. Five Design Patterns, that Gamma et. al describes in the book ”Design Patterns”, are evaluated. The experimental application is a text field parser component in the programming language C#.

About this research paper

What this paper is about

Design Patterns capture solutions in object-oriented programming that have developed and evolved over time. One of the main reasons that computer science researchers began to recognize design patterns is to satisfy this need for elegant, but simple, reusable solutions. In fact, design patterns are a body of literature that forms a language for conveying the structures and mechanisms of object-oriented architectures and allows us to intelligibly reason about the resulting composition and applications. Design Patterns are a common way to organize objects and the collaborations between objects in object-oriented programs to make those programs easier to reuse and maintain. This formation of a common language between practitioners in object-oriented program is vital for software engineering as a scientific discipline. The vocabulary and strategies of object-oriented programming such as abstraction, separation, composition and generalization needs a common language to relate these concepts together. Software engineering, which comprises object-oriented programming, is a relatively young scientific discipline, still struggling to find a shared language that enables an effortless communication between practitioners. Design Patterns satisfies these objectives and help software developers resolve and discuss recurring object-oriented problems encountered throughout all the software development process. This thesis demonstrates that Design Patterns has the potential to form a shared language for communicating experience and findings about these problems and their solutions. Codifying these solutions and their collaborations enables object-oriented programmers to achieve sound engineering architecture and design. Design Patterns therefore constitutes a solid foundation and a language to describe good designs and capture experience, in resolving recurring problems in objectoriented programming. This accumulated experience, when codified, facilitates practitioners in objectoriented programming to reuse this solid experience. The aim of this thesis work is to evaluate the concept of Design Patterns, in terms of the resulting degree of reusability and maintainability of an experimental application. Five Design Patterns, that Gamma et. al describes in the book ”Design Patterns”, are evaluated. The experimental application is a text field parser component in the programming language C#.

Why it matters

A significance statement is not available in the OpenAlex record.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

Design Patterns capture solutions in object-oriented programming that have developed and evolved over time. One of the main reasons that computer science researchers began to recognize design patterns is to satisfy this need for elegant, but simple, reusable solutions. In fact, design patterns are a body of literature that forms a language for conveying the structures and mechanisms of object-oriented architectures and allows us to intelligibly reason about the resulting composition and applications. Design Patterns are a common way to organize objects and the collaborations between objects in object-oriented programs to make those programs easier to reuse and maintain. This formation of a common language between practitioners in object-oriented program is vital for software engineering as a scientific discipline. The vocabulary and strategies of object-oriented programming such as abstraction, separation, composition and generalization needs a common language to relate these concepts together. Software engineering, which comprises object-oriented programming, is a relatively young scientific discipline, still struggling to find a shared language that enables an effortless communication between practitioners. Design Patterns satisfies these objectives and help software developers resolve and discuss recurring object-oriented problems encountered throughout all the software development process. This thesis demonstrates that Design Patterns has the potential to form a shared language for communicating experience and findings about these problems and their solutions. Codifying these solutions and their collaborations enables object-oriented programmers to achieve sound engineering architecture and design. Design Patterns therefore constitutes a solid foundation and a language to describe good designs and capture experience, in resolving recurring problems in objectoriented programming. This accumulated experience, when codified, facilitates practitioners in objectoriented programming to reuse this solid experience. The aim of this thesis work is to evaluate the concept of Design Patterns, in terms of the resulting degree of reusability and maintainability of an experimental application. Five Design Patterns, that Gamma et. al describes in the book ”Design Patterns”, are evaluated. The experimental application is a text field parser component in the programming language C#.

Key concepts: Computer science, Software design pattern, Object-oriented design, Software engineering, Software design, Programming language, Software development, Object (grammar)

Related papers

Back to paper searchBrowse research topicsOriginal source
Design patterns in practice — Research Paper | ScholarLens