(소프트웨어) 디자인 패턴이란 특정 문맥에서 공통적으로 발생하는 문제에 대해 쓰이는 재사용 가능한 해결책
목적별로 일정한 패턴이 제시되어 있음.
상황에 맞춰 최정화된 패턴을 결정하여 사용하는 것이 좋음.
추상 팩토리 : 구체적인 클래스를 지정하지 않고 인터페이스를 통해 연관되는 객체들을 묶어줌
빌더 : 객체의 생성과 표현을 분리하여 객체를 생성
팩토리 메소드 : 객체 생성을 서브클래스로 분리하여 위임 (캡슐화)
싱글톤 : 한 클래스마다 인스턴스를 하나만 생성하여 어디서든 참조
어댑터 : 클래스의 인터페이스를 어떤 클래스에서든 이용할 수 있도록 반환
브리지 : 구현부에서 추상층을 분리하여 각자 독립적으로 변형 하고 확장할 수 있도록 함
데코레이터 : 주어진 상황에 따라 객체에 다른 객체를 덧붙임
파사드 : 서브 시스템에 있는 인터페이스 집합에 대해 통합된 인터페이스 제공
🍒 디자인 패턴은 간략하게만 알고 설계 단계에서 디테일하게 적용하면 더 좋은 코드를 만들 수 있다.