본문 바로가기

gof4

[GoF] 옵저버 패턴(Observer Pattern) Observer Pattern 옵저버 패턴(Observer Pattern)은 Gang of Four(GoF) 디자인 패턴 중 하나로 Design Patterns: Elements of Reusable Object-Oriented Software 책에서 소개 된 23가지 디자인 패턴 중 하나입니다. 옵저버 패턴은 동작 패턴으로써 객체의 상태 변화가 생길 때 각 객체를 관찰하는 옵저버들에게 통지하고 옵저버들은 받은 인지한 상태 변화에 따른 조치를 취하는 디자인 패턴입니다. 옵저버 패턴은 객체 간의 일대다 의존성 관계를 정의하며 Pub/Sub(발행/구독) 모델로서 주로 분산 이벤트 핸들링 시스템을 구현하는데 사용됩니다. Structure Subject Observer의 관찰 대상자 인터페이스입니다. 주제를 나.. 2023. 8. 19.
[GoF] 파사드 패턴(Facade Pattern) Facade Pattern 파사드 패턴(Facade Pattern)은 Gang of Four(GoF) 디자인 패턴 중 하나로 Design Patterns: Elements of Reusable Object-Oriented Software 책에서 소개 된 23가지 디자인 패턴 중 하나입니다. 파사드 패턴은 구조 패턴으로써 하위 시스템을 보다 쉽게 사용할 수 있게 해주는 고급 인터페이스로 표현됩니다. 먼저 파사드(Facade)는 프랑스어 Façade 에서 유래된 단어로 건물의 '외관'이라는 뜻입니다. 하위 시스템(내부 구조)에 있는 인터페이스들에 대한 통합된 고급 인터페이스(외벽)를 제공하는 패턴입니다. 이로써 내부 시스템의 복잡도를 감추기 위해 복잡한 기능을 감싸고 상호 작용할 더 단순한 메소드를 제공하는.. 2023. 8. 17.
[GoF] 어댑터 패턴(Adapter Pattern) Adapter Pattern 어댑터 패턴(Adapter Pattern)은 Gang of Four(GoF) 디자인 패턴 중 하나로 Design Patterns: Elements of Reusable Object-Oriented Software 책에서 소개 된 23가지 디자인 패턴 중 하나입니다. 어댑터 패턴은 구조 패턴으로써 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하는 패턴으로 호환되지 않는 인터페이스 때문에 함께 동작할 수 없는 인터페이스들이 함께 작동할 수 있도록 변환해주는 디자인 패턴입니다. 이는 인터페이스가 현재의 시스템과 호환되지 않는다고해서 현재의 시스템을 변경을 해야하는 것이 아닌 새로운 소스 코드 수정 없이 함께 작동하도록 만들어주는 것에 의미가 있습니다. 어댑터 패턴은 주로 다.. 2023. 8. 10.
[GoF] 컴포지트 패턴(Composite Pattern) Composite Pattern 컴포지트 패턴(Composite Pattern)은 Gang of Four(GoF) 디자인 패턴 중 하나로 Design Patterns: Elements of Reusable Object-Oriented Software 책에서 소개 된 23가지 디자인 패턴 중 하나입니다. 컴포지트 패턴은 구조 패턴으로써 객체들을 트리 구조로 구성하는 방법을 제공하며 개별 객체와 복합 객체를 일관된 방식으로 다룰 수 있게 해주고, 객체 간의 전체-부분 계층을 표현할 수 있도록 합니다. 컴포지트 패턴의 주요 아이디어는 단일 객체와 복합 객체를 동일한 인터페이스로 다루기입니다. 이를 통해 클라이언트는 개별 객체와 복합 객체를 구별하지 않고 일관된 방식으로 즉, 클라이언트는 개별 객체든 복합 객체.. 2023. 7. 31.