# GOF

134개의 포스트
post-thumbnail

컴포지트 패턴(Composite Pattern)

👨🏼‍💻 컴포지트 패턴은 컴포지트(복합 객체)와 단일 객체를 동일한 컴포넌트로 취급하여, 클라이언트에게 이 둘을 구분하지 않고 동일한 인터페이스를 사용하도록 하는 구조 패턴이다.이 패턴은 전체-부분의 관계를 가지는 객체들 사이의 관계를 트리 계층 구조로 정의해야

어제
·
0개의 댓글
·
post-thumbnail

팩토리 메서드 패턴(Factory Method Pattern)

👨🏼‍💻 팩토리 메서드 패턴이란 객체 생성을 공장 클래스로 캡슐화 처리하여 대신 생성하게 하는 생성 디자인 패턴이다.클라이언트에서 new 를 통해 제품 객체를 생성하는 것이 아닌, 제품 객체들을 도맡아 생성하는 공장 클래스를 만들고, 이를 상속하는 서브 공장

어제
·
0개의 댓글
·
post-thumbnail

템플릿 메서드 패턴(Template method pattern)

👨🏼‍💻 템플릿 메서드 패턴은 전체적으로는 동일하면서 부분적으로는 다른 구문으로 구성된메서드의 코드 중복을 최소화할 때 유용하다. 다른 관점에서 보면 동일한 기능을 상위클래스에서 정의하면서 확장/변화가 필요한 부분만 서브 클래스에서 구현할 수 있도록한다.primi

어제
·
0개의 댓글
·
post-thumbnail

데코레이터 패턴(Decorator Pattern)

👨🏼‍💻 데코레이터 패턴은 기본 기능에 추가할 수 있는 기능의 종류가 많은 경우에각 추가 기능을 Decorator 클래스로 정의한 후 필요한 Decorator객체를조합함으로써 추가 기능의 조합을 설계하는 방식이다.예를 들어 기본 도로 표시 기능에서차선 표시교통량

1일 전
·
0개의 댓글
·
post-thumbnail

추상 팩토리 패턴(Abstract Factory Pattern)

엘리베이터만 생각하면 여러 제조 업체의 부품을 사용하더라도 같은 동작을 지원하게하는 것이 바람직하다. LG의 모터와 현대의 모터는 구체적인 제어 방식은 다르지만엘리베이터 입장에서는 모터를 구동해 엘리베이터를 이동시킨다는 면에서는 동일하다.Motor의 핵심 기능은 mov

2023년 11월 19일
·
0개의 댓글
·
post-thumbnail

[Design Pattern] 1. 전략 패턴 Strategy Pattern

디자인 패턴 중 전략패턴에 대해 다뤘습니다.

2023년 10월 20일
·
0개의 댓글
·
post-thumbnail

빌더 패턴(Builder Pattern)

빌더 패턴이란? > 생성과 관련된 디자인 패턴으로 동일 프로세스를 거쳐 다양한 인스턴스를 만들때 사용 객체 생성 패턴 생성자의 인자가 많은 경우 유용 생성자의 인자들 중 필수적 인자와 선택적 인자가 혼합되어 있는 경우 Immutable 객체(불변 객체)를 생성하고

2023년 10월 14일
·
0개의 댓글
·
post-thumbnail

Typescript로 다시 쓰는 GoF - Observer

앞선 Mediator 패턴에서 비교를 했던 Pub/Sub 패턴이 Observer 패턴이다.Observer패턴은 어떤 객체의 상태를 관찰(Observe)하고 상태가 변화했을 때 통지를 받아 해당 객체의 상태를 관찰하는 객체들 간에 동기화하기 위해 사용하는 디자인 패턴이다

2023년 10월 10일
·
0개의 댓글
·
post-thumbnail

Typescript로 다시 쓰는 GoF - Mediator

여러개의 객체들이 상호의존적인 상황에서 각 객체들간의 결합성을 낮추기 위해 사용하는 패턴이다. 각 객체들이 서로의 상태를 확인하며 동작하는대신, 중재자 역할을 담당하는 하나의 중심 객체를 통해 행동을 지시 받는다.보통 프론트를 구성할 때 많이 볼 수 있으며, \[MVC

2023년 10월 10일
·
0개의 댓글
·
post-thumbnail

Typescript로 다시 쓰는 GoF - Facade

파사드Facade 패턴은 복잡한 내부로직을 하나의 인터페이스로 정리한다. 추상화Abstraction과 혼동되기도 하는데, 파사드를 추상화의 한 방법으로 볼 수도 있지만 반대로 모든 추상화가 파사드 패턴인 것은 아니다.추상화는 보다 보편적인 개념으로, 단순히 구체적인 로

2023년 10월 10일
·
0개의 댓글
·
post-thumbnail

[북스터디]자바 기술 면접 빈출 질문(3) 8가지 디자인 패턴 질문

Intro 디자인 패턴은 GoF로 대표되는 OOP 개발의 주요한 사용 방식 중 하나로, 다양한 문제를 해결하는 방식으로 많이 사용되어져 온 것이 굳어지고 소개되고 이론을 가지며 생겨난 것입니다. 생성, 구조, 행동패턴으로 크게 세 개로 분류되며 총 23가지를 가지고 있

2023년 9월 29일
·
0개의 댓글
·
post-thumbnail

Typescript로 다시 쓰는 GoF - Chain of Responsibility

책임 떠넘기기란 말 그대로 각 객체가 본인이 처리하지 못하는 업무를 다른 객체에게 처리할 것을 떠넘기는 것을 의미한다.Express로 만든 API 서버에서 어떤 요청이 들어왔을 때 해당 요청을 어느 엔드포인트에서 처리할지 적합한 처리 주체를 만날때까지 미들웨어와 라우터

2023년 9월 25일
·
0개의 댓글
·
post-thumbnail

Typescript로 다시 쓰는 GoF - Visitor

어떤 데이터의 구조를 나타내는 객체가 있고 이 객체로 수행하는 처리작업을 별도의 객체로 분리할 때 사용할 수 있는 것이 Visitor 패턴이다. 즉, 데이터의 구조와 처리를 분리하는 패턴이다.예를들어, 어떤 사각형을 나타내는 객체 Square가 있고 이 객체는, 사각형

2023년 9월 17일
·
0개의 댓글
·
post-thumbnail

Typescript로 다시 쓰는 GoF - Decorator

우선, GoF에서 이야기하는 디자인 패턴으로서의 Decorator는 Java, Python, Typescript 등의 언어에 등장하는 Decorator@라는 기능과는 별개의 개념이다. 둘 다 상위 컨텐츠가 하위 컨텐츠를 감싸고 부가적인 기능을 제공하기에 같은 이름이 사

2023년 9월 11일
·
0개의 댓글
·
post-thumbnail

Typescript로 다시 쓰는 GoF - Composite

Composite이란 사전적으로 혼합물이라는 뜻이다. 언뜻 다른 패턴들과는 다르게 이름만으로 직관적으로 그 역할을 유추하기가 다소 쉽지는 않지만, 이름 그대로 서로 다른 무엇인가를 혼합하여 하나인것처럼 취급하는 패턴이다. 보통 내용물과 그릇, 혹은 단수와 복수를 하나로

2023년 9월 2일
·
0개의 댓글
·
post-thumbnail

Typescript로 다시 쓰는 GoF - Strategy

Strategy는 전략이며, 소프트웨어에서의 전략은 특정 기능을 어떤식으로 구현할지에 대한 알고리즘 혹은 비즈니스 로직이다.Strategy 패턴은 하나의 목적을 가지는 여러개의 전략이 있을 때 이를 효과적으로 관리하고 또 교체하여 사용하기 편리하게 하기 위해 사용한다.

2023년 8월 29일
·
0개의 댓글
·
post-thumbnail

Typescript로 다시 쓰는 GoF - Abstract Factory

앞서서 이미 Factory Method라는 디자인 패턴에 대해서 다루었었다. 인스턴스를 생성해내는 추상적인 객체를 만들어두고, 구체적으로 어떤 인스턴스를 어떻게 만들지는 하위에서 구체적인 객체를 작성하면서 결정하는 디자인 패턴이었다.Abstract Factory도 유사

2023년 8월 27일
·
0개의 댓글
·
post-thumbnail

Typescript로 다시 쓰는 GoF - Bridge

Bridge 패턴은 기능의 클래스 계층과 구현의 클래스 계층을 연결하는 역할을 한다. 따라서, 브릿지 패턴을 이해하기 위해서는 먼저 클래스 계층이 어떻게 구분되는지를 먼저 이해해야한다.어떤 기능을 구현한 클래스 Something이 있다고 가정하자. 이때 Somethin

2023년 8월 17일
·
0개의 댓글
·
post-thumbnail

Typescript로 다시 쓰는 GoF - Builder

Builder란 복잡한 객체를 만들 때 마치 건물처럼 각 프로퍼티를 하나하나 순서대로 쌓아가면서 객체를 완성해나가는 디자인 패턴의 일종이다. 여기서 "복잡한 객체"라는 말이 굉장히 추상적인데, 이는 그만큼 Builder 패턴이 쓰이는 경우가 다양하기 때문이다.Build

2023년 8월 16일
·
0개의 댓글
·