CS

[CS]디자인 패턴

그레고리력 2021. 4. 21. 20:59

디자인 패턴이란?


  • 확장성, 유지보수성 등이 좋은 코드를 설계하기 위한 일종의 소프트웨어 설계 디자인 방법론

디자인 패턴의 종류

GoF 디자인 패턴 : 디자인 패턴을 생성(Creational), 구조(Structural), 행위(Behavioral) 3가지로 분류

  • 생성 : 객체 생성에 관련된 패턴
  • 구조 : 클래스나 객체를 조합해 더 큰 구조를 만드는 패턴
  • 행위 : 객체나 클래스 사이의 알고리즘이나 책임 분배에 관련된 패턴

Singleton 패턴

  • 전역 변수를 사용하지 않고 객체를 하나만 생성 하도록 하며, 생성된 객체를 어디에서든지 참조할 수 있도록 하는 패턴

Strategy 패턴

  • 행위를 클래스로 캡슐화해 동적으로 행위를 자유롭게 바꿀 수 있게 해주는 패턴

Template Method 패턴

  • 어떤 작업을 처리하는 일부분을 서브 클래스로 캡슐화해 전체 일을 수행하는 구조는 바꾸지 않으면서 특정 단계에서 수행하는 내역을 바꾸는 패턴

Factory Method 패턴

  • 객체의 생성 코드를 별도의 클래스/메서드로 분리해 처리하도록 캡슐화하는 패턴