객체지향 다형성의 원리를 기반으로 만들어짐다양한 구현체(Product)가 있고, 특정한 구현체를 만들 수 있는 팩토리(Creator)를 제공확장에는 열려있고 변경에는 닫혀 있는 구조부모(상위) 클래스에 알려지지 않은 구체 클래스를 생성하는 패턴이며, 자식(하위) 클래스
추상 팩토리 패턴(Abstract Facgtory Pattern)은 구상 클래스에 의존하지 않고 서로 연관되거나 의존적인 객채로 이루어진 제품군을 생산하는 인터페이스 제공구상 클래스는 서브 클래스에서 만듬📌 팩토리 쪽에만 집중하면 팩토리 메소드 패턴과 유사하지만,
객체가 특정 객체 상태 변화를 감지하고 알림을 받는 패턴. 발생(publish) - 구독(subscribe) 패턴을 구현할 수 있다.
복잡한 객체를 생성하는 방법을 정의하는 클래스와 표현하는 방법을 정의하는 클래스를 별도로 분리. 서로 다른 표현이라도 이를 생성할 수 있는 동일한 절차를 제공
기존 코드를 클라이언트가 사용하는 인터페이스의 구현체로 바꿔주는 패턴클라이언트가 사용하는 인터페이스를 따르지 않는 기존 코드를 재사용할 수 있게 해준다.
주어진 상황 및 용도에 따라 어떤 객체에 책임을 덧붙이는 패턴으로, 기능 확장이 필요할 때, 서브클래싱 대신 쓸 수 있는 유연한 대안이 될 수 있다.데코레이터(Decortor) 뜻 그대로 원하는 클래스를 장식한다.즉, Wrapping 한다 라고 생각할 수 있다.Beve
객체들의 관계를 트리 구조로 구성하여 부분-전체(Part-Whole) 계층을 표현하는 패턴 단일 객체와 복합 객체 모두 동일하게 다루도록 한다.