Design Patterns in Software Engineering

So, what is a Design Pattern?

When speaking about software engineering, design patterns are reusable solutions to a commonly occurring problem within a given context in software design. A design pattern is not a finished design but a description/template for how to solve a problem, and it can be used in many different situations.

Patterns can be described as best practices to solve common problems when designing an application. In Object-oriented programming (OOP), design patterns show relationships and interactions between objects or classes, but, it does not specify classes or objets that are involved in the final application. Design patterns can speed up the development process, because its solutions are already tested and proven design paradigms. Effective software design requires considering issues that may not become visible until later in the process, like make the application modular and maintain focus on scalability, thus, reusing design patterns helps to prevent subtle issues that can cause problems, furthermore, it improves code readability and makes it easier to maintain.

The origin of patterns is an architectural concept by Christopher Alexander between 1977 and 1979. Also, in 1987, Ward Cunningham and Kent Beck experimented the idea of applying patterns to programming, but design patterns gained notoriety and popularity after the book Design Patterns: Elements of Reusable Object-Oriented Software was published in 1994 by the  Gang of Four.

Following are some notable books about this subject:

要查看或添加评论,请登录

社区洞察

其他会员也浏览了