객체 상태 저장 및 복구를 위한 메멘토 패턴 구현
메멘토 패턴은 객체의 내부 상태를 캡처하여 외부에 저장하고, 필요시 해당 상태로 복원할 수 있는 행동 디자인 패턴입니다.
핵심 개념
목적: 객체의 캡슐화를 유지하면서 내부 상태를 저장하고 이후에 복원할 수 있도록 합니다.
주요 기능: 객체의 상태를 별도의 메멘토 객체에 저장하여, 나중에 이전 상태로 되돌릴 수 있는 기능을 제공합니다.
적용 시기: 사용자 작업 ...
8월 7일 17:21에 게시됨
자바스크립트 팩토리 패턴 구현
단순 팩토리 패턴
단일 팩토리 객체가 특정 유형의 객체 인스턴스를 생성합니다. 동일 계열 객체 생성을 위한 패턴으로, 입력 파라미터에 따라 서로 다른 객체를 반환합니다.
장점: 복잡한 생성 로직 없이 파라미터만으로 객체 획득 가능
단점: 객체 종류 증가 시 생성 로직이 복잡해지고 유지보수 어려움
적용 시기: 생성 객체 종류가 적고 생성 로직이 단순한 경우
funct ...
8월 5일 01:44에 게시됨
상태 패턴과 전략 패턴, 어떻게 구분하고 선택해야 할까?
서론: 비슷해 보이지만 본질이 다른 두 디자인 패턴
소프트웨어 설계에서 상태 패턴(State Pattern)과 전략 패턴(Strategy Pattern)은 종종 혼동된다. 두 패턴 모두 인터페이스를 기반으로 다형성을 활용하며, UML 클래스 다이어그램 상으로는 거의 동일한 구조를 가진다. 그러나 이 둘은 추구하는 목적과 적용되는 시나리오가 근본적으로 다르다. 어떤 패턴을 선택하느냐 ...
7월 25일 06:01에 게시됨
디자인 패턴 - 싱글톤 패턴 완벽 이해하기
생성 패턴의 핵심 목표는 객체 생성 과정과 사용을 분리하는 것입니다. 이를 통해 시스템의 결합도를 낮추고, 사용자는 객체가 어떻게 생성되는지 알 필요 없이 사용할 수 있습니다.
생성 패턴의 종류는 다음과 같습니다:
싱글톤 패턴
팩토리 메서드 패턴
추상 팩토리 패턴
프로토타입 패턴
빌더 패턴
싱글톤 패턴이란?
싱글톤 패턴은 클래스의 인스턴스가 오직 하나 ...
7월 5일 04:46에 게시됨
행위 기반 설계: 전략과 어댑터 패턴의 활용
전략 패턴은 동일한 작업 흐름 내에서 다양한 알고리즘을 교체 가능하게 만드는 디자인 접근법이다. 다음 예제는 문자열 처리 과정에서 각기 다른 전략을 적용하는 방식을 보여준다.
public abstract class TextProcessor {
public String identifier() {
return getClass().getSimpleName();
}
public abstract String transform(String input);
}
...
6월 30일 02:28에 게시됨
빌더 패턴
1. 빌더 패턴이란?
복잡한 객체의 생성과 표현을 분리하여 동일한 구성 요소로 다양한 표현을 생성할 수 있도록 설계 패턴입니다.
예를 들어 외식 시스템에서 메뉴 구성은 고정된 재료(건강식, 일반식 등)가 다르지만, 기본적인 조리 과정은 유사합니다.
2. 주요 목적
복잡한 객체의 구현 세부사항을 숨기고, 서브클래스를 통해 동적으로 객체를 생성하는 방식으로 ...
6월 27일 18:23에 게시됨
자바 추상 팩토리 디자인 패턴 심층 분석 (UML 포함)
추상 팩토리 패턴의 개념 이해
소프트웨어 개발에서 유사한 제품군을 일관성 있게 생성해야 할 때 사용하는 대표적인 생성형 디자인 패턴 중 하나가 바로 추상 팩토리(abstract factory) 패턴이다. 이 패턴은 관련된 객체들의 집합을 추상화하여, 특정 구체적인 클래스에 의존하지 않고도 일관된 방식으로 객체를 생성할 수 있도록 한다.
핵심 구성 요소
AbstractFac ...
6월 22일 18:33에 게시됨
C++ 팩토리 패턴 심층 분석: 기초편
팩토리 패턴 소개
팩토리 패턴은 생성형 디자인 패턴의 한 종류로, 객체 생성의 최상의 방법을 제공합니다. 팩토리 패턴에서는 클라이언트에게 객체 생성 로직을 노출하지 않고, 공통 인터페이스를 사용하여 새로 생성된 객체를 가리킵니다.
간단히 말해, C++의 다형성 특성을 활용하여 상속 관계에 있는 클래스들을 팩토리 클래스를 통해 해당 서브 클래스(파생 클래스) ...
5월 25일 04:27에 게시됨