전체 글(151)
-
이터레이터(Iterator) 패턴
Iterator 패턴 - 개념과 구현Iterator 패턴은 행위 패턴(Behavioral Pattern) 중 하나로, 집합체의 요소들에 순차적으로 접근할 수 있는 방법을 제공하는 디자인 패턴입니다. 이 패턴은 내부 구조를 노출하지 않고도 집합체의 요소들을 순회할 수 있게 해줍니다.1. Iterator 패턴이란?Iterator 패턴은 다음과 같은 상황에서 유용합니다:집합체의 내부 구조를 숨기고, 요소에 접근하는 방법을 제공하고자 할 때.다양한 집합체를 동일한 방법으로 순회할 수 있도록 하고 싶을 때.순회하는 방법을 변경하고자 할 때.2. Iterator 패턴의 구조Iterator 패턴은 다음과 같은 구성 요소로 이루어져 있습니다:1. Iterator집합체의 요소를 순회하는 메서드를 정의하는 인터페이스입니다..
2024.10.17 -
커맨드(Command) 패턴
Command 패턴 - 개념과 구현Command 패턴은 행위 패턴(Behavioral Pattern) 중 하나로, 요청을 객체로 캡슐화하여 요청을 보낸 사람과 요청을 처리하는 사람을 분리하는 패턴입니다. 이 패턴은 명령을 실행하는 방법과 관련된 다양한 설정을 처리할 수 있게 해주며, 요청을 큐에 저장하거나 로그로 기록하는 등 여러 기능을 추가하는 데 유용합니다.1. Command 패턴이란?Command 패턴은 다음과 같은 상황에서 유용합니다:요청을 객체로 캡슐화하여 매개변수를 조작할 수 있게 하고, 요청을 실행하는 객체와 요청을 수신하는 객체를 분리합니다.요청을 큐에 추가하거나 로그를 남기고 싶을 때.Undo 및 Redo 기능을 제공할 때.2. Command 패턴의 구조Command 패턴은 다음과 같은 ..
2024.10.17 -
브릿지(Bridge) 패턴
Bridge 패턴 - 개념과 구현Bridge 패턴은 구조 패턴(Structural Pattern) 중 하나로, 구현부와 추상화부를 분리하여 둘을 독립적으로 변화시킬 수 있도록 하는 패턴입니다. 이 패턴은 여러 가지 방식으로 구성을 변경할 수 있는 상황에서 특히 유용합니다. 즉, 클라이언트가 사용하고자 하는 기능과 그 기능의 구현을 독립적으로 발전시킬 수 있는 방법을 제공합니다.1. Bridge 패턴이란?Bridge 패턴은 추상화(Abstraction)와 구현(Implementation)을 분리하여 각각을 독립적으로 발전시킬 수 있도록 설계된 구조입니다. 이 패턴을 사용하면 추상화와 그 구현을 서로 독립적으로 확장할 수 있어, 코드의 유연성과 재사용성을 높일 수 있습니다.언제 사용하는가?다양한 구현 방식이..
2024.10.17 -
프록시(Proxy) 패턴
Proxy 패턴 - 개념과 구현Proxy 패턴은 구조 패턴(Structural Pattern) 중 하나로, 다른 객체에 대한 접근을 제어하는 대리 객체(Proxy)를 제공하는 패턴입니다. 실제 객체에 대한 접근을 대리 객체가 대신 수행함으로써, 추가적인 기능을 수행하거나 접근 제어를 할 수 있습니다. 주로 원격 객체, 메모리 집약적인 객체, 보안이 필요한 객체 등에 사용됩니다.1. Proxy 패턴이란?Proxy 패턴은 클라이언트가 직접 객체에 접근하지 않고, 대신 프록시(Proxy) 객체를 통해 간접적으로 접근하도록 하는 패턴입니다. Proxy는 실제 객체에 대한 접근을 제어하며, 다양한 용도로 활용할 수 있습니다. 이를 통해 클라이언트와 실제 객체 간의 중간 계층 역할을 수행합니다.언제 사용하는가?원격..
2024.10.17 -
컴포지트(Composite) 패턴
Composite 패턴\Composite 패턴은 구조 패턴(Structural Pattern) 중 하나로, 객체들을 트리 구조로 구성하여 단일 객체와 복합 객체를 동일하게 처리할 수 있도록 하는 방법입니다. 이 패턴을 통해 클라이언트는 단일 객체와 복합 객체를 일관성 있게 다룰 수 있으며, 복잡한 객체 구조를 재귀적으로 처리할 수 있습니다.1. Composite 패턴이란?Composite 패턴은 개별 객체와 복합 객체(여러 객체로 구성된 객체)를 동일하게 취급할 수 있는 구조를 제공합니다. 이 패턴을 사용하면 개별 요소와 요소들을 포함한 구조체 모두를 하나의 일관된 인터페이스로 처리할 수 있습니다. 트리 구조를 형성하는 데 주로 사용되며, 계층적인 관계를 표현할 때 유용합니다.언제 사용하는가?부분-전체 ..
2024.10.17 -
프로토타입(Prototype) 패턴
Prototype 패턴Prototype 패턴은 생성 패턴(Creational Pattern) 중 하나로, 객체를 직접 생성하는 대신 이미 존재하는 객체를 복제하여 새로운 객체를 만드는 방법을 제공합니다. 이 패턴은 성능이 중요한 경우나 객체를 반복적으로 생성할 때 사용할 수 있습니다.1. Prototype 패턴이란?Prototype 패턴은 객체를 생성하는 데 필요한 복잡한 과정을 피하기 위해 기존 객체의 복제본을 만드는 방식입니다. 이를 통해 객체를 생성하는 데 필요한 시간을 절약할 수 있으며, 새로운 인스턴스를 만드는 대신 기존 객체를 복사하는 방식을 채택하여 유연성을 제공합니다.언제 사용하는가?객체 생성 비용이 클 때: 복잡한 초기 설정이나 많은 자원을 사용하는 객체의 경우, 복제하여 새로운 객체를 ..
2024.10.14