728x90 분류 전체보기104 디자인패턴 - Strategy 패턴 Strategy 패턴은 객체의 행위를 정의하고 이를 동적으로 변경하거나 교체할 수 있도록 설계하는 행위 디자인 패턴입니다.이 패턴은 다양한 알고리즘(혹은 행위)을 캡슐화하여 객체 간의 의존성을 제거하고 확장성을 높이는 데 도움을 줍니다.### 핵심 개념1. 알고리즘을 캡슐화: - 특정 행위를 수행하는 알고리즘을 각각의 클래스(전략)로 캡슐화하여 독립적으로 관리합니다.2. 동적 교체: - 실행 중에 알고리즘을 변경하거나 교체할 수 있는 유연성을 제공합니다.3. 확장성 강화: - 새로운 알고리즘을 추가하려면 기존 코드를 수정하지 않고 새로운 클래스를 추가하면 됩니다.4. 느슨한 결합: - 클라이언트는 알고리즘의 세부 구현에 의존하지 않고 인터페이스를 통해 접근합니다.### 구조Strategy .. 2025. 4. 10. Spring 컨테이너에 등록된 빈(Bean)은 싱글톤 스코프이다 Spring 컨테이너에 빈(Bean)이 등록되면, 기본적으로 싱글톤(Singleton) 스코프로 동작합니다. 즉, 애플리케이션 컨텍스트에서 해당 빈의 인스턴스는 하나만 생성되고, 컨테이너 전체에서 재사용됩니다.### 싱글톤 스코프란? 1. 기본 동작: - `@Component`, `@Service`, `@Repository`, `@Controller` 또는 `@Bean`으로 등록된 모든 빈은 기본적으로 `singleton` 스코프를 따릅니다. - 싱글톤 스코프는 컨테이너 내에서 하나의 인스턴스만 생성하고, 해당 객체를 컨테이너에서 공유합니다. 2. 특징: - 동일한 빈을 여러 곳에서 의존성 주입(Dependency Injection)할 때, 동일한 인스턴스가 주입됩니다. - 메모리.. 2025. 4. 9. 디자인패턴 디자인 패턴은 소프트웨어 개발에서 자주 나타나는 문제를 해결하기 위한 재사용 가능한 설계 방법입니다. 이는 객체지향 프로그래밍에서 코드의 구조를 효율적으로 만들고, 유지보수성과 확장성을 높이는 데 도움을 주는 표준화된 접근 방식입니다.### 디자인 패턴의 분류 디자인 패턴은 일반적으로 3가지 유형으로 나눠집니다: #### 1. 생성 패턴 (Creational Patterns) 객체 생성과 초기화를 다루며, 코드에서 객체 생성 방식을 효율적으로 관리하도록 합니다. - 예: - Singleton: 한 클래스에 대해 객체가 하나만 생성되도록 보장합니다. - Factory Method: 객체 생성 과정을 캡슐화하여 유연성을 제공합니다. - Builder: 복잡한 객체 생성 과정을 단.. 2025. 4. 9. Optional Java의 `Optional` 클래스는 값의 존재 여부를 나타내는 컨테이너 객체로, null을 안전하게 처리하기 위해 사용됩니다. 값이 존재하면 해당 값을 포함하고, 값이 없으면 비어 있는 객체를 반환합니다. 이를 통해 NullPointerException(NPE)을 방지하고 더 명확한 코드를 작성할 수 있습니다.### 특징 1. null 대체 - `Optional`을 사용하면 null 값을 직접 다루지 않아도 되며, 값이 비어 있는 경우를 안전하게 처리할 수 있습니다. 2. 표준화된 API - 값의 존재 여부를 확인하고 처리할 수 있는 다양한 메서드가 제공됩니다. 3. 함수형 프로그래밍 - 함수형 스타일로 값을 처리하고, 필요한 경우 추가 작업을 체이닝으로 처리할 수 있습니다.### 사.. 2025. 4. 8. 이전 1 2 3 4 ··· 26 다음 728x90