디자인 패턴 간단 정리

김민오·2022년 9월 7일
0
  1. 싱글톤 패턴
  • 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴이다. 데이터베이스 연결 모듈에 많이 사용한다.
  • 하나의 인스턴스를 만들어 놓고 이 인스턴스를 다른 모듈들이 공유하기때문에 인스턴스를 생성할 때 들어가는
    비용을 줄일 수 있다.
  • 하지만 그만큼 의존성이 높아진다.

※의존성 주입 원칙

  • 의존성 주입 시 상위 모듈은 하위 모듈에서 어떠한 것도 가져오지 않아야 한다.
  • 상/하위 모듈 모두 추상화에 의존해야한다.
  • 이 때 추상화는 세부 사항에 의존하지 말아야 한다.
  1. 팩토리 패턴
  • 객체를 사용하는 코드에서 객체를 생성하는 부분을 분리하여 추상화한 패턴이다.
  • 상속 관계에 있는 두 클래스 중 상위 클래스가 뼈대를 담당하며 하위 클래스에서 객체를 생성에 대한 상세를 결정하는 패턴이다.
  • 상/하위 클래스 분리로 결합이 느슨해지며 상위 클래스에서는 인스턴스 생성에 방식에 대해 알 필요가없기에 유연성 증가로 이어진다.
  • 객체 생성 로직 또한 분리되기에 리팩토링 시 문제가 되는 곳만 고치면 되기때문에 유지 보수성 또한 증가된다.
  1. 전략 패턴
  • 객체의 행위를 바꾸고 싶을 때 이를 직접 수정하지않고 전략이라고 명명된 캡슐화한 알고리즘을 컨텍스트 안에서 바꿔 교체가 가능하게
    만드는 패턴이다.
  1. 옵저버 패턴
  • 객체의 상태 변화를 관찰하다가 변화가 발생할 때 메서드를 호출하여 관찰 목록에 있는 옵저버들에게 변화를 알려주는 패턴이다.
profile
https://github.com/gimhema, https://gimhema.tistory.com/

0개의 댓글