Design patterns in practice
Ingemar Jacobsson
Abstract
Ingemar Jacobsson
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#.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
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)