Design Patterns are a collection of logical
models adopted for solving recurrent problems which are observed during the
process of software development. Patterns are not dealing with core algorithms
adopted by the programs but are instead providing reusable best practise
solutions for a modern software design. For this reason algorithms are essential for
computational efficiency, and patterns are critical for building scalable
architectural solutions.
In Object Oriented Programming Patterns
typically show relationships and interactions between classes and objects. In
this book we will discuss three classes of Design patterns:
- 1) Creational patterns, which create objects on your behalf rather than instantiating them directly.
- 2) Structural patterns, which compose interfaces by leveraging inheritance. The composition of objects allows to create new functionalities, simplify interfaces, adapt heterogeneous objects, improve performances and reduce complexity.
- 3) Behavioural patterns, which are used to describe interaction and communication among objects. Behavioural patterns are also used to handle the internal state and the internal activities of each object.
Design Patterns
started to be adopted in Computer Science after the publication of the book “Design
Patterns: Elements of Reusable Object-Oriented Software” by the so-called "Gang of
Four" (Gamma et al.)[1]
·
[1] Gamma, Erich; Richard Helm, Ralph
Johnson, and John Vlissides (1995). Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley. ISBN 0-201-63361-2.
No comments:
Post a Comment