How Important Do You Think Is Design Patterns?

27 Apr 2019

Relationship between software and design patterns

What do you think about the relationship between software development and design patterns? At the beginning of software development, not much use of design patterns is needed. Now that software developers don’t recognize the importance of design patterns, books covering with design patterns were considered as such useless books because of the name of the book ‘design’.

Since you start considering reusable and sustainable software, you get to know how important patterns and object-oriented are.

Characteristics of patterns

The purpose of software development is to fix any problems. Making programs you work on run properly and efficiently is the priority of using software. However, it is not everything about software. Characteristics that well-developed object-oriented software is supposed to have are modularity, flexibility to reflect on changes, extensibility, and maintainability that includes all the characteristics and make the software sustainable while the program is in use. A proven way of including the four characteristics is the patterns.

Once you jump in software development and start developing, you get to face to bunch of similar problems with different code. That’s when you need to use patterns, and it’s used for communication for software developers. It also enables to guess what problems other people are facing to now.

Design patterns, one of three levels of patterns

So, how do we study design patterns? There are three levels of patterns code, class, and architecture. What I want to talk about here is Design pattern in class, which is one of the levels.

Design patterns came out since software developers have started thinking how they make software reusable. There are three types of patterns: Structural, Creational, and Behavioral.

The design patterns are named from the book who wrote GoF(Gang of Four), which is four famous computer scientist.

What’s good and bad?

Although it is very useful developing software, there is bad side on using it. First, it is usually used for objects-oriented developments. The other weakness of design patterns is too much expense of using it when you first set it up. On the other hand, good sides of design patterns are good communication between software developers, easy to grasp the structure of software, able to save time developing through reusable, and enable to make software fit in the request of change by customers.