/
https://42jerrykim.github.io/ _index.md
Chain of Responsibility 패턴은 요청 처리 객체들을 체인으로 연결하여 책임을 분산합니다. 클라이언트와 처리 객체의 결합도를 낮추고 동적으로 처리자를 변경합니다.
Command 패턴은 요청을 객체로 캡슐화하여 호출자와 수신자를 분리합니다. 명령의 실행 취소(undo), 큐잉, 로깅 등 다양한 기능을 유연하게 구현할 수 있습니다.
Iterator 패턴은 컬렉션 내부 구조를 노출하지 않고 요소들을 순차적으로 접근하게 합니다. 일관된 인터페이스로 다양한 집합체를 순회하며 유연성을 높입니다.
Mediator 패턴은 객체들 간의 직접 통신을 제한하고 중재자를 통해 상호작용하게 합니다. 복잡한 의존성을 줄이고 유연하게 시스템을 구성할 수 있습니다.
Memento 패턴은 객체의 내부 상태를 캡슐화해 외부에 노출하지 않고 이전 상태로 복원합니다. 상태 저장 및 복원으로 실행 취소나 롤백 기능을 구현합니다.
Observer 패턴은 객체의 상태 변화가 있을 때 의존 객체들에게 자동으로 알림을 보냅니다. 객체 간 결합도를 낮추고 효율적으로 이벤트를 전달하여 확장성을 높입니다.
State 패턴은 객체의 내부 상태가 변경될 때 행동이 바뀌도록 합니다. 조건문 없이도 상태 변경에 따른 다양한 동작을 구현하여 유지보수성과 확장성을 높입니다.
Strategy 패턴은 알고리즘을 캡슐화하여 동적으로 교체할 수 있게 합니다. 실행 중에 다양한 전략을 유연하게 변경하여 확장성과 유지보수성을 크게 향상시킵니다.
Visitor 패턴은 객체 구조와 오퍼레이션을 분리하여 새로운 기능 추가를 쉽게 합니다. 복잡한 객체 구조에서도 기능의 유연한 확장과 유지보수가 가능합니다.
디자인 패턴의 개념과 등장 배경, 객체지향 설계 원리를 정리합니다. 실무에서 패턴을 적용하는 이유와 역사, 실제 소프트웨어 개발에서 패턴의 역할을 다룹니다.