/
https://42jerrykim.github.io/ _index.md
Facade 패턴은 복잡한 서브시스템에 간단한 인터페이스를 제공하여 클라이언트가 내부 구현에 신경 쓰지 않고 사용할 수 있게 합니다. 결합도를 낮추고 가독성을 높입니다.
Flyweight 패턴은 대량의 객체를 효율적으로 관리하고 메모리 사용량을 줄이기 위해 객체 공유를 활용합니다. 동일 데이터의 중복을 최소화하여 성능을 최적화합니다.
Proxy 패턴은 객체에 대한 접근을 제어하기 위해 대리자 객체를 제공합니다. 프록시를 통해 접근 제어, 로깅, 지연 로딩 등 부가 기능을 손쉽게 추가할 수 있습니다.
Interpreter 패턴은 특정 언어나 문법을 해석하는 과정을 객체로 표현합니다. 간단한 문법 규칙을 객체 조합으로 구축하고 해석 로직을 유연하게 확장할 수 있습니다.
Template Method 패턴은 알고리즘 구조를 상위 클래스에서 정의하고 하위 클래스에서 세부 구현을 제공합니다. 전체 흐름은 고정하고 특정 단계만 유연하게 변경합니다.
Chain of Responsibility 패턴은 요청 처리 객체들을 체인으로 연결하여 책임을 분산합니다. 클라이언트와 처리 객체의 결합도를 낮추고 동적으로 처리자를 변경합니다.
Command 패턴은 요청을 객체로 캡슐화하여 호출자와 수신자를 분리합니다. 명령의 실행 취소(undo), 큐잉, 로깅 등 다양한 기능을 유연하게 구현할 수 있습니다.
Iterator 패턴은 컬렉션 내부 구조를 노출하지 않고 요소들을 순차적으로 접근하게 합니다. 일관된 인터페이스로 다양한 집합체를 순회하며 유연성을 높입니다.
Mediator 패턴은 객체들 간의 직접 통신을 제한하고 중재자를 통해 상호작용하게 합니다. 복잡한 의존성을 줄이고 유연하게 시스템을 구성할 수 있습니다.
Memento 패턴은 객체의 내부 상태를 캡슐화해 외부에 노출하지 않고 이전 상태로 복원합니다. 상태 저장 및 복원으로 실행 취소나 롤백 기능을 구현합니다.