https://refactoring.guru/ko

1. 요약

디자인 패턴은 소프트웨어를 설계하면서 자주 발생하는 문제들을 해결하기 위한 해결 방법을 일반

화하여 정리한 것을 말한다. 그래서 프로그램을 개발하면서 이미 많은 사람들이 고민했던 고민들을

쉽게 해결할 수 있다는 장점이 있고, 이를 이용하면 빠르게 프로그램을 개발할 수 있다는 장점이 있

다. 그리고 이미 정리된 패턴을 사용하게 되면 팀원들과 소통이 빠르고 정확하게 이루어진다는 장점

이 있다. 또 기존에 존재하는 패턴에 자신만의 기능을 추가하여 새로운 패턴을 만드는 것도 가능하다.

2. 종류

디자인 패턴으로 가장 유명한 GoF 디자인 패턴이 있다.

GoF는 (Gang of Fout)으로 Erich Gamma, Richard Helm, Ralph Johnson, John Vissides 라는 사람들이

소프트웨어를 개발하면서 생기는 문제들을 구분하고 체계화하여 정리하였다. 이들은 23개의 디자인

패턴을 정리하고 이 23개의 패턴을 크게 3가지로 분류했다.

생성(Creational)패턴, 구조(Structural) 패턴, 행위(Behavioral) 패턴이다.

1) Creational Pattern

생성패턴은 객체를 생성하는데 필요한 패턴들입니다. 객체의 생성을 캡슐화하여 전체적인 프로그램

구조에 영향을 주지 않으면서 확장성을 갖게 만든 패턴이다.

아래와 같은 패턴이 생성패턴이다.