In: Computer Science
Creating a Pattern Hierarchy for an Existing Pattern Catalog
Over the past couple of decades, software engineers
have recognized the value of moving up from code reuse to the reuse
of higher-level items. Design patterns have been recognized as a
valuable means of reuse, and this has led to the development of a
great number of patterns over the years. With so many design
patterns being recognized and developed, finding the right pattern
to use or customize can be a difficult task without some method for
organizing them.
Software engineering typically establishes a design pattern
hierarchy by grouping design patterns and associating them to the
related problem space (i.e. structural, behavioral, etc.). A
similar hierarchy applies to architectural patterns. By grouping
and associating patterns in such a way, modelers can create a
lattice of patterns referred to as a pattern hierarchy.
To put this concept to work, review the “Catalog of Patterns
of Enterprise Application Architecture” (or EAA Catalog). This
catalog of patterns is organized functionally. Familiarize yourself
with the differences between architectural styles, architectural
patterns, and design patterns.
In this Assignment, addresses the following:
Create a pattern hierarchy that meaningfully organizes the EAA Catalog of patterns using one of the architectural styles from this week’s readings. Create categories and link them together in the form of a logical hierarchy. Include at least one pattern from each category in Fowler’s catalog.
Explain the organizing principles you employed in your pattern hierarchy. The EAA Catalog is organized functionally and not in a hierarchy. The Design Pattern Catalog has about 50 different patterns. They are now organized into 11 pattern types based on functionality. You need to use a different organizing principle.
In this era of technology desing patterns plays a vital role in the software development . Desing patterns are used to solve the common occurning problems of software development. The pattern hierarchy has been given under with certain subparts .
1) Creational Design Pattern: These types of design patterns comes first in the hierarchy. These design patterns focus on class instantiation. We can think of these patterns as class creation or object creation design patterns. The various sub design patterns under this pattern are as follows:
i) Factory Method desing Pattern
ii) Abstract Factory Design Pattern
iii) Builder Design Pattern
2) Structural Design Pattern: The design patterns are all about related to class or object composition and structure. The various sub design patterns under this are as follows:
i) Adapter desing pattern
ii) Bridge design pattern
iii) Facade design pattern
3) Behavioral Design Pattern: The design patterns are related to class and object communication. These type of desing patterns comes on third position in hierarchy. The various sub design patterns in this are:
i) Iterator Design Pattern
ii) Interpreter Design Pattern