# Software Design Patterns

Skill · Software Development and Engineering Practices

Canonical page: https://career.thegoodapps.co/skills/software-design-patterns

Software design patterns are reusable, general solutions to commonly occurring problems in software design, such as the Singleton, Factory, Observer, and Strategy patterns popularized by the "Gang of Four" book. Developers use these patterns to write more maintainable, flexible, and understandable object-oriented code by following proven structural and behavioral templates. Familiarity with design patterns is a common expectation in software engineering interviews and code reviews.

## Roles that use Software Design Patterns

- [Software Architect](https://career.thegoodapps.co/occupations/software-architect) — 1

Related skills: [SOLID Principles](https://career.thegoodapps.co/skills/solid-principles), [Dependency Injection](https://career.thegoodapps.co/skills/dependency-injection), [Programming Principles](https://career.thegoodapps.co/skills/programming-principles), [Software Architecture](https://career.thegoodapps.co/skills/software-architecture), [Extensible Software](https://career.thegoodapps.co/skills/extensible-software), [Smalltalk](https://career.thegoodapps.co/skills/smalltalk), [Generic Programming](https://career.thegoodapps.co/skills/generic-programming)

## Open roles requiring Software Design Patterns (1)

- [Principal Software Architect](https://career.thegoodapps.co/jobs/1c913106-2cdd-4acf-9fc9-3e443e1e3893/principal-software-architect-at-comcast) at [Comcast](https://career.thegoodapps.co/organizations/comcast) — Philadelphia, PA
